让我用一个例子来解释我的问题。
这里我有一个简单的for循环:
for x in range(10)
print(x)
输出:0 1 2 3 4 5 6 7 8 9
现在,如果我从烧瓶网站或麦克风上获取用户输入,让用户说是或否,那么我希望它重新启动for循环,或者根据响应打破for循环。如果这个人说"是",则再次重做for循环,或者如果他说"否",则中断for循环,继续执行其他代码。
问题:
如何在用户输入后重复for循环。
我在问如何用for循环而不是while循环来实现这一点,因为我想把它放在做其他事情的while循环中。
将您的循环放入另一个循环:
while True:
for x in range(10):
print(x)
if not input("Do it again? ").lower().startswith("y"):
break
如果嵌套循环的数量开始变得难以处理(任何超过三级深度的循环都开始变得难以读取IMO(,请将其中一些逻辑放入函数中:
def count_to_ten():
for x in range(10):
print(x)
while True:
count_to_ten()
if not input("Do it again? ").lower().startswith("y"):
break
您还没有指定如何检索输入,所以我在以下代码片段中省略了这一点:
should_run_loop = True
while should_run_loop:
for x in range(10)
print(x)
should_run_loop = # code to retrieve input