【发布时间】:2015-07-25 08:36:06
【问题描述】:
我对 Python(和一般编程)相当陌生,我想知道是否有一种方法可以同时运行 2 个或多个 while 循环,以便在一个循环的每一轮之后切换到另一个循环,而无需必须从零轮开始。这是我目前所拥有的:
def loop1():
rounds = 0
while True:
if rounds == 1:
print('A')
elif rounds == 2:
print('B')
else:
rounds = 0
rounds = rounds + 1
def loop2():
rounds = 0
while True:
if rounds == 1:
print('a')
elif rounds == 2:
print('b')
else:
rounds = 0
rounds = rounds + 1
loop1()
loop2()
现在,当我这样做时,它所做的只是无限运行 loop1() 并且永远不会到达 loop2(),但我想知道一种让输出说的方法:
A
a
B
b
A
a
B
b
A
a
... and so on.
有人知道我该怎么做吗?
还请注意,我是初学者,并没有真正掌握所有编程术语,所以请使用小词:) 提前致谢。 (我也在使用 Python 3(虽然我想你可能已经知道了?))
【问题讨论】:
-
如果你使用 While True 循环,你将永远运行,除非你的循环中有一个 break 语句来结束它。通常,这将通过某种逻辑来完成。即
if variable > 2: Break如果您有嵌套循环,Breaks 将使您上升 1 级。要在 python 中完全跳出嵌套循环,有一些方法,例如重复 Breaking 或使用 return。查看下面的答案,这些答案似乎已经找到了一个很好的解决方案。 -
您在两个单独的函数中使用两个无限循环是否有原因?您想要的在技术上是可行的,但需要一点工作和对协程的理解。
标签: python loops while-loop infinite-loop