主要内容是校设课程的习题和课外学习的一些习题。
欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中
题目(来自)
描述
餐馆的菜单如下:
蒜泥黄瓜 6元
花生米 6元
青椒炒肉 28元
西红柿鸡蛋 18元
红烧肉 38元
烤鱼 30元
手撕鸡 45元
海带排骨 35元
白菜 12元
三鲜汤 15元
请编程帮助苏淳点菜和结账。
要求:
(1)自定义函数order(*dish)实现点菜
(2)形参为可变参数,实参为4个菜名,返回值为4个菜的总价。
(3)分别输入4个菜名,作为实参传入order。
输入:
蒜泥黄瓜
花生米
青椒炒肉
西红柿鸡蛋
输出:
结账:58元
思路
python123原来的参考答案是有问题的,错误代码如下:
def order(d1,*dish):
menu = {'蒜泥黄瓜':6,'花生米':6,'青椒炒肉':28,'西红柿鸡蛋':18,'红烧肉':38,\
'烤鱼':30,'手撕鸡':45,'海带排骨':35,'白菜':12,'三鲜汤':15}
total = 0
for i in dish:
total += menu[i]
return total
d1 = input()
d2 = input()
d3= input()
d4 = input()
m = order(d1,d2,d3,d4)
print("结账:{}元".format(m))
这样得到的答案是52元(实际应该是58元,第一道菜的6元没有算上)所以要加上d1
代码
def order(d1, *dish):
menu = {'蒜泥黄瓜': 6, '花生米': 6, '青椒炒肉': 28, '西红柿鸡蛋': 18, '红烧肉': 38, \
'烤鱼': 30, '手撕鸡': 45, '海带排骨': 35, '白菜': 12, '三鲜汤': 15}
total = 0
total += menu.get(d1)
for i in dish:
total += menu[i]
return total
d1 = input()
d2 = input()
d3 = input()
d4 = input()
m = order(d1, d2, d3, d4)
print("结账:{}元".format(m))
实现效果
总结
大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的Python习题!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2022 mzh
Crated:2022-3-1
欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中
【更多内容敬请期待】