我想循环这个,每次循环我都想要+1所以它打印(1 2 3 ..直到无限)但是它打印2 1 2 1 2 ...我做错了什么?
I want to loop this, and everytime it loops I want +1 so it prints ( 1 2 3.. untill infinite) But it prints 2 1 2 1 2 ... what am I doing wrong?
我想循环这个,每次循环我都想要 +1 所以它打印( 1 2 3 4 5.. 直到无限)
但它打印 1 2 1 2 1 2 1 2 ...
我究竟做错了什么?
代码:
import time
x = 1
def main():
print(x)
x + 1
time.sleep(1)
print(x+1)
main()
main()
您可以使用迭代器。
通过使用 next()
你可以问它下一个数字是什么,它们只会在你真正需要它们时才计算出来。本例中的限制是 python-整数的系统大小。
import sys
maxSize = sys.maxsize
i = iter(range(maxSize))
def main():
print(next(i))
main()
# 0
main()
# 1
main()
# 2
您的代码说 main 执行 -> 打印 1、2,睡眠,打印 2。
你应该做
x = 1
def main():
while true:
print(x)
x += 1
time.sleep(1)
main()
您的原始代码不会改变 x。 x += 1 表示 x = x + 1.
x + 1 就是 2。而且 2 不会存储在任何地方。要无限地继续下去,你只需留下 while true 循环 运行 并手动终止代码。尽管您可以对其设置一些上限,例如 1000 次循环。
这里的错误是每次调用函数 main() 时都会重新启动 x,因为没有循环。
def main():
x = 1
while True:
print(x)
time.sleep(1)
x += 1
main()
当您在函数内部添加时 x+1
您没有将值存储回 x 以更新它。这是一个更好的实现。
import time
x = 1
def main():
global x
print(x)
x += 1
time.sleep(1)
while True:
main()
希望这是最佳答案
import time #importing time
def infinitive_loop(): #define new function
x = 1 #making variable x equals 1
while True: #this is the loop
yield x
time.sleep(1)#wait 1 sec.
x += 1#it increases one every time
for x in infinitive_loop():
print(x)#print "x"
我想循环这个,每次循环我都想要 +1 所以它打印( 1 2 3 4 5.. 直到无限) 但它打印 1 2 1 2 1 2 1 2 ... 我究竟做错了什么? 代码:
import time
x = 1
def main():
print(x)
x + 1
time.sleep(1)
print(x+1)
main()
main()
您可以使用迭代器。
通过使用 next()
你可以问它下一个数字是什么,它们只会在你真正需要它们时才计算出来。本例中的限制是 python-整数的系统大小。
import sys
maxSize = sys.maxsize
i = iter(range(maxSize))
def main():
print(next(i))
main()
# 0
main()
# 1
main()
# 2
您的代码说 main 执行 -> 打印 1、2,睡眠,打印 2。
你应该做
x = 1
def main():
while true:
print(x)
x += 1
time.sleep(1)
main()
您的原始代码不会改变 x。 x += 1 表示 x = x + 1.
x + 1 就是 2。而且 2 不会存储在任何地方。要无限地继续下去,你只需留下 while true 循环 运行 并手动终止代码。尽管您可以对其设置一些上限,例如 1000 次循环。
这里的错误是每次调用函数 main() 时都会重新启动 x,因为没有循环。
def main():
x = 1
while True:
print(x)
time.sleep(1)
x += 1
main()
当您在函数内部添加时 x+1
您没有将值存储回 x 以更新它。这是一个更好的实现。
import time
x = 1
def main():
global x
print(x)
x += 1
time.sleep(1)
while True:
main()
希望这是最佳答案
import time #importing time
def infinitive_loop(): #define new function
x = 1 #making variable x equals 1
while True: #this is the loop
yield x
time.sleep(1)#wait 1 sec.
x += 1#it increases one every time
for x in infinitive_loop():
print(x)#print "x"