在用户输入后重复 for 循环?

Repeat a for loop after user input?

让我用一个例子来解释我的问题。

这里我有一个简单的for循环:

for x in range(10)
    print(x)

输出:0 1 2 3 4 5 6 7 8 9

现在,如果我从 flask 网站或麦克风获取用户输入,让用户说是或否,那么我希望它根据响应重新启动 for 循环或跳出 for 循环.如果对方同意,则重新执行 for 循环,或者如果对方拒绝,则跳出 for 循环并继续其他代码。

问题:

如何在用户输入后重复 for 循环。

我问的是如何使用 for 循环而不是 while 循环来执行此操作,因为我想将它放在执行其他操作的 while 循环中。

您尚未指定如何检索输入,因此我在以下代码片段中省略了该内容:

should_run_loop = True

while should_run_loop:
    for x in range(10)
        print(x)
    should_run_loop = # code to retrieve input

将你的循环放在另一个循环中:

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