python-3.x 为什么我的while循环在我中断后又运行了一次?

uqzxnwby  于 2023-03-24  发布在  Python
关注(0)|答案(2)|浏览(194)

到目前为止,我已经写了这个非常简单的代码,但在我开始扩展它之前,我注意到while循环又运行了一次,即使它应该中断。

x = 2
answer = None
prompt = "> "

while True:
    print(x)

    x = x + 1

    if answer not in ["no", "NO", "nO", "No"]:
        print("Continue?")
        answer = input(prompt)
    else:
        break

这是我运行代码时得到的结果:

2
Continue?
> no
3

我希望“3”不会显示,因为while循环应该已经被转义了。我不明白这里的什么?

vulvrdjw

vulvrdjw1#

您在下一次迭代中检查了答案,而您应该在输入后面检查它。
下面是固定和简化的代码:

x = 2
prompt = "> "

while True:
    print(x)

    x += 1

    print("Continue?")
    answer = input(prompt)
    if answer.lower() == "no":
        break
jyztefdp

jyztefdp2#

我认为使用stop命令而不是应该工作。我稍后会回来检查

相关问题