目录

    • 题目(来自)
    • 思路
    • 代码
    • 实现效果
    • 总结


主要内容是校设课程的习题和课外学习的一些习题。

欢迎关注 『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习题』 系列,持续更新中

【更多内容敬请期待】


更多推荐

【Python习题】餐馆的菜单算账(保姆级图文+实现代码)