Not scoping, typing.
When you do i+1, this is preparsed into
sage: preparse('[len(top_points(i+1)) for i in range(2,10)]')
'[len(top_points(i+Integer(1))) for i in range(Integer(2),Integer(10))]'
and the addition means that top_points is passed not a Python int, but a
Sage Integer, and your
Ok I'm running a 7.2.rc1 (built by myself) on OSX and am seeing some weird
behavior. I define a function
def top_points(n):
d = n + 1
return set([(a/n,b/n,c/n,0) for a in range(d) for b in range(a+1) for c
in range(a+1)])
Now if I do
sage: [len(top_points(i+1)) for i in