> Incidentally, Fortran, for all its other ugliness, has the best for loop I know:
How is that better than Python?
for i in range( 1, 100 ):
print "Python!"How is that better than Python?
for i in range( 1, 100 ):
print "Python!" >>> for i in range(1000000000):
... print i
...
python2.4(1261) malloc: *** vm_allocate(size=4000002048) failed (error code=3)
python2.4(1261) malloc: *** error: can't allocate region
python2.4(1261) malloc: *** set a breakpoint in szone_error to debug
Traceback (most recent call last):
File "<stdin>", line 1, in ?
MemoryError
Why attempt to allocate such a large list when you just want to do something several times?xrange() addresses the problem you describe and has been in Python since, like, forever. However, range() is nicer for learning the language, since it's easy to see how it composes into a list.
(1..100).each do
puts "Ruby"
end 100.times { puts "Ruby" }
Not that there's anything wrong with your approach, but I just like the way that my code reads almost like English.(Counting only the loop-related characters, leaving out whitespace.)
Unless anyone has a shorter way of doing something one hundred times?
Look, I'm only too familiar with the annoyances of Fortran, but let's allow it this one thing, okay?