【发布时间】:2019-10-22 00:00:16
【问题描述】:
- 编写程序计算晚餐费用
- 如果此人未满 5 岁,晚餐免费
- 如果此人未满 10 岁,晚餐 5 美元
- 如果此人未满 18 岁,晚餐 10 美元
- 65 岁以上,晚餐 $12
- 所有其他晚餐费用为 15 美元
- 计算 8% 税
- 显示每位用餐者的总数、用餐者人数、每位用餐者的平均费用以及所有用餐者的累计总数
- 程序应该循环直到进入退出,每个循环都会添加一个新的晚餐并更新总数
是我需要做的。我不知道该怎么做,所以总数会进入字典而不是循环。
我已经做过一个类似的问题,但现在这个问题需要将所有金额加在一起,我不知道如何。这是我为之前的类似问题所做的代码。我目前似乎遇到的问题是它不会进入字典,最后也不会打印出来。我还需要它继续循环,直到我输入退出。
dinner = {}
total ={}
name = input("What's your name? ")
age = input("What age is the person eating? ")
age = int(age)
amount = input("How many people that age? ")
amount = int(amount)
while True:
if name == 'quit':
print('Done')
break
elif age < 5:
price = 0 * amount
tax = price * 0.08
dinner[name] = name
dinner[age] = age
total[amount] = price + tax
break
elif age < 10:
price = 5 * amount
tax = price * 0.08
dinner[name] = name
dinner[age] = age
total[amount] = price + tax
break
elif age < 18:
price = 10 * amount
tax = price * 0.08
dinner[name] = name
dinner[age] = age
total[amount] = price + tax
break
elif age > 65:
price = 12 * amount
tax = price * 0.08
dinner[name] = name
dinner[age] = age
total[amount] = price + tax
break
else:
price = 15 * amount
tax = price * 0.08
dinner[name] = name
dinner[age] = age
total[amount] = price + tax
break
print("Thank you for having dinner with us! \nYour total is {total}, for {dinner}.")
【问题讨论】:
-
为什么是你的总数的关键,而不是用餐者的名字?您对 dicts 的预期最终结果是什么?为什么你要求在循环之外输入,这意味着你只能得到一个晚餐?为什么要在 每个 分支上中断,从而使 while 循环过时?
标签: python python-3.x loops dictionary input