执行menu()
并转到 1、2 或 3 就可以很好地完成其工作。
但是经过之后getproduct(character)
再返回,menu()
如果你选择3,就会形成一个糟糕的循环。
我想知道为什么,以及如何解决这个问题......
def menu():
menu = '1. ice\n2. cream\n3. quit'
print(menu)
try:
order = int(input('choose one: '))
if order == 1:
c = 'ice'
getproduct(c)
elif order == 2:
c = 'cream'
getproduct(c)
elif order == 3:
exit()
else: menu()
except ValueError: menu()
def getproduct(character):
toping = int(input('1. ice or 2. cream?'))
try:
if character == 'ice' and toping == 1:
print(character + 'ice')
menu()
elif character == 'ice' and toping == 2:
print(character + 'cream')
menu()
elif character == 'cream' and toping == 1:
print(character + 'ice')
menu()
elif character == 'cream' and toping == 2:
print(character + 'cream')
menu()
else: getproduct(character)
except: getproduct(character)
menu()
泛舟湖上清波郎朗
心有法竹
相关分类