用ZTM学习Python,while循环不起作用

问题描述 投票:0回答:1

所以我正在通过 ZTM 学习 python,我已经处于 while 循环 2 的末尾,Andrei 编写的代码块并没有破坏(我写的这个东西字面上是 bar for bar)

while True:
   response = input("Say something: ")
   if (response == "bye"):
      break

Terminal output:

python loops if-statement while-loop conditional-statements
1个回答
0
投票

根据您的屏幕截图,有两种可能性:

  1. 当您执行当前正确的程序时,另一个程序(可能是旧的且不正确的版本)仍在运行。
  2. 由于某种原因,您实际上没有正确输入
    "bye"

两个问题的解决方案:

  1. 对于第一个问题,只需停止原来的程序并运行正确的程序即可。
    Ctrl + C
    是停止程序的最常见方法,但如果您不在终端中执行代码,这可能不起作用。在 IDE 中,例如 IDLE,菜单上会有一个红色小方块,可让您停止程序。
  2. 对于第二个问题,您应该在代码中添加一些输入验证:
while True:
   response = input("Say something: ")
   while response != 'bye':
       print(f'expect "bye", got {response} instead')
       response = str(input('Say something: '))
       
   if (response == "bye"):
       break

或者,实际上使输入有效:

while True:
   response = str(input("Say something: ")).strip().lower()
   if (response == "bye"):
      break
© www.soinside.com 2019 - 2024. All rights reserved.