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

23 篇文章 187 订阅


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

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

【更多内容敬请期待】


  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发现你走远了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值