该程序的目标是将计数乘以汉堡包的值。我把计数放在了while循环中,但是每次运行程序时,它都会冻结并且不会执行。
def input1():
menu = input("""
hamburger--: """)
loop = input("Would you like to add another Food: (y/n)?")
return menu, loop
def calc():
menu, loop = input1()
cost = 0
full_menu = {'h': 1.25, 'f': .75, 's': 1.0}
while menu in full_menu:
cost = full_menu[menu]
cost2 = 0
cost2 += 1
if loop == "y":
menu, loop = input1()
calc()
if loop == "n":
print(cost2 * cost )
def main():
menu, loop = input1()
calc()
main()
答案 0 :(得分:0)
有多种方法可以使此功能与递归一起使用,但是由于您没有声明要使用它,因此不使用它会更简单。您可以完全跳过第一个函数,并在一个while循环中完成所有操作:
def calc():
cost = 0
full_menu = {'h': 1.25, 'f': .75, 's': 1.0}
item='n/a'
print('Hamburger: h\nFries: f\nSoda: s\n')
while item:
item = input("What would you like to order? (h/f/s or type 'q' to quit)").lower()
if item in full_menu:
cost += full_menu[item]
else:
break
print("Your bill is ${}!".format(cost))