您可以例外处理:
class AdventureDone(Exception): passdef yn(x, f, g): if x == 'y': print(f) elif x == 'n': print(g) raise AdventureDonename = raw_input('What is your name, adventurer? ')print 'Nice to meet you, '+name+'. Are you ready for your adventure?'try: while True: ready = raw_input('y/n ') yn(ready, "Good, let's start our adventure!",'That is a real shame.. Maybe next time')except AdventureDone: pass # or print "Goodbye." if you want这样
while一遍又一遍地循环,但是在
yn()函数内部引发了一个异常,该异常打破了循环。为了不打印回溯,必须捕获并处理异常。



