【发布时间】:2013-02-09 18:45:24
【问题描述】:
def Help(string):
while True:
if string == 'Manifest':
return Manifest()
break
elif string == 'Intent':
return Intent()
break
else:
print('The options available are: \n')
for i in andHelp:
print(i)
print('Type Q to Quit \n')
x = input('What option do you choose: ')
print('\n')
if x == 'Q':
break
else:
Help(x)
如果它进入 else 语句会一直循环,怎么会? 例如:
"可用的选项有:
意图
清单
输入Q退出
你选择什么选项:"
【问题讨论】:
-
方法一开始是怎么输入的?
-
因为它是一个恒定的无限循环。
-
休息会不会让它停下来?
-
你输入了'q'(小Q)吗?尝试如果 x.upper() == 'Q'。另外,不要再次调用 Help(),您已经在 while 循环中介绍了这一点。您最终会得到嵌套调用,这些调用会在它们展开时不断提出问题。
-
递归似乎是不必要的。与其调用
Help(x),不如设置string=x,让循环回到开头。
标签: python python-3.x while-loop break python-3.3