2

可能重复:
Python Infinity - 任何警告?
python无界xrange()

我有一个关于 Python 的问题,您可以在其中编写一个简单的脚本,该脚本打印从 1 到x的数字序列,其中x是无穷大。这意味着,“ x ”可以是任何值。

例如,如果我们要打印一个数字序列,它将打印从 1 到“if”语句的数字,该语句表示在数字“10”处停止,并且打印过程将停止。

在我当前的代码中,我正在使用这样的“for”循环:

for x in range(0,100):
    print x

我试图弄清楚如何将“范围”中的“100”替换为其他可以让循环继续连续打印序列而不指定值的东西。任何帮助,将不胜感激。谢谢

4

4 回答 4

14

itertools.count

import itertools
for x in itertools.count():
    print x

用一个简单的while循环:

x = 0
while True:
    print x
    x += 1
于 2012-12-17T13:01:55.560 回答
2

y可以是一个数字。

for x in range(0,y):
    print x

你不能有y无限大或负数。我认为以下示例将很有用。

>>> for y in range(0,):
...     print y
... 
>>> 
>>> for y in range(0,1000000000000000):
...     print y
... 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: range() result has too many items
>>> for y in range(0,-1):
...     print y
... 
>>>
于 2012-12-17T13:03:17.273 回答
2

你可以用发电机来做:

def infinity(start=0):
    x = start
    while True:
        yield x
        x += 1

for x in infinity(1):
    print x
于 2012-12-17T17:14:22.270 回答
0
x=0
while True:
  print x
  x = x +1
于 2012-12-17T13:04:56.257 回答