On Sun, 7 Feb 2010 15:17:08 -0800 (PST), davedo2 <[email protected]> wrote:
> I want to run a range of numbers through the factor() function and if
> I run a loop through a list as in:
> for i in [25,37,205]:
> print i.factor()
> it works fine, but if I try
> for i in range(1,5):
> print i.factor()
> I get the error message 'int' object has no attribute 'factor' - how
> do I get
> factor() to work with a range? Thanks...Dave
>
range() returns Python integers, which do not have a factor() method.
You need to get Sage integers instead, so use srange() or xsrange():
sage: srange(5)
[0, 1, 2, 3, 4]
sage: type(srange(5)[2])
<type 'sage.rings.integer.Integer'>
sage: for i in srange(1, 5):
print i.factor()
1
2
3
2^2
Best,
Alex
--
Alex Ghitza -- Lecturer in Mathematics -- The University of Melbourne
-- Australia -- http://www.ms.unimelb.edu.au/~aghitza/
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org