我正在尝试制作一个包含 if/elif 语句的函数,我希望 if 打破 while 循环。该函数用于文本冒险游戏,是一个是/否问题。这是我到目前为止想出的..
def yn(x, f, g):
if (x) == 'y':
print (f)
break
elif (x) == 'n'
print (g)
name = raw_input('What is your name, adventurer? ')
print 'Nice to meet you, '+name+'. Are you ready for your adventure?'
while True:
ready = raw_input('y/n ')
yn(ready, 'Good, let\'s start our adventure!',
'That is a real shame.. Maybe next time')
现在我不确定我是否正确使用了该功能,但是当我尝试时,它说我不能中断该功能。因此,如果有人可以帮助我解决这个问题,并且如果函数和调用函数本身的格式错误,您可以帮助我,那将不胜感激。
原文由 Ryan Hosford 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以处理例外情况:
这会循环
while
一遍又一遍地循环,但在yn()
函数内部会引发异常,从而中断循环。为了不打印回溯,必须捕获并处理异常。编辑(九年多后):
在我看来,我忘记了“y”的情况。那么,让我们以不同的方式进行: