Greetings Dima,

Can you help me plz.
I want to make a for loop with a huge numbers.
for example:

for i in range (0,9000000000):
 make_some_code

but range and xrange cant operate with such big numbers. Can some on help me?

Ah, range and xrange.  It would help us to know which Python version you are
using, as there is a very slight difference in how Python 2.x and Python 3.x
deal with range().

Well, if you are using Python 2.x, I'm assuming that you are seeing something
like this, when you use range():

  >>> range(0,9000000000)
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  MemoryError

That's because range() is trying to return you a list, and is allocating a bunch of memory so that it can create the list. You probably don't have this much memory in your machine.

I didn't have any problem using xrange() in a for loop in Python 2.7.3. None at all.

I also gave Python 3.3.0 a try, by running this:

  for i in range(0, 9000000000):
       x = 0

This also ran without a hitch....

So, perhaps you are having some sort of other problem. Would you like to provide more detail?

-Martin

P.S. I wrote a little function to see if I could figure out how long it would take to run a for loop on your 9 billion (~9e9), without actually running it. I started by timing the loop on range(0, 100,000) and then increased it until it took an appreciable amount of time for a human. At 1e9 (range of 1 billion), it took my little anemic laptop about 12.8 seconds to count through the loop. So, before accounting for any work that you plan to undertake inside the loop, you have a runtime of ~115 seconds.


--
Martin A. Brown
http://linux-ip.net/
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to