我绝对是python的初学者,这是我遇到麻烦的代码。 所以问题是当我按0时循环不会中断
while True:
idiot = input('Continue Y/N?: ')
idiot = idiot.upper()
if idiot == ('Y'):
print('Great')
if idiot == ('N'):
print('okey')
if idiot == 0:
print('exit')
break
答案 0 :(得分:1)
在您的情况下,True
永远不会更改为False
,这将结束循环。
将最后一个if
子句更改为if str(idiot) == '0'
可以解决问题,因为input()
总是返回str
,并且您提供了int
(0而不是' 0')。
while True:
idiot = input('Continue Y/N?: ')
idiot = idiot.upper()
if idiot == ('Y'):
print('Great')
if idiot == ('N'):
print('okey')
if idiot == '0':
print('exit')
break
无论如何
我总是将while
循环与包含布尔值(真/假)的变量一起使用。
使用变量TrueOrFalse
,一旦满足条件,我就可以将其设置为False
。
这就是我要做的:
TrueOrFalse = True
while TrueOrFalse:
idiot = input('Continue Y/N?: ')
idiot = idiot.upper()
if idiot == ('Y'):
print('Great')
if idiot == ('N'):
print('okey')
if idiot == '0':
TrueOrFalse = False
print('exit')
另一件事:我知道这只是一个示例,但是您的input()
仅要求输入“ Y”或“ N”,而缺少“ 0”。无论如何,我想'N'应该做(退出循环)'0'现在正在做的事情。