Python实验十:函数

        随着无人新零售经济的崛起,商场、车站、大厦等各种场所都引入了无人饮品自动售货机,方便人们选购自己想要的饮品。购买者选择想要的饮品,通过投币或扫码的方式支付,支付成功后从出货口取出饮品。

         本实例要求编写代码,利用函数实现具有显示饮品信息、计算总额等功能的程序。

        发的处女文章,欢迎大家前来探讨交流,小生说的不对的地方,以及代码可以改进的地方请大佬们高抬贵手,帮我修改一下,这对我的学习非常的有帮助,谢谢大家!

        话不多说,上代码!

        我们在本题中用到了字典方面的知识,采用了一个键值对应的方式来实现创建商品列表,当然也可以直接用class类直接实现(想了很久还是决定用字典。。。)键值对的嘛,首选字典。


        定义商品字典,相当于商品表单
item_dict = {'冰红茶':3,'脉动':3.5,'果缤纷':3,'绿茶':3,
             '茉莉花茶':3,'百事可乐':2.5,'尖叫':2.5,'可口可乐':2.5}
        循环遍历字典,打印输出表单
def dict_show():
    print('{}'.format('-'*20))
    print('饮品自动售货机2.0\n')
    for i in item_dict:

        直接采用键值对的方式打印商品名称和值
        print("{}:{}元".format(i,item_dict[i]))
    print('*q回车后结束')
    print('{}'.format('-'*20))
        定义item类
class item:
            初始化totle成员,代表您要购买商品的总数嘞
    def __init__(self,totle):
        self.totle = totle
            ​​​​​​​这里是输入商品数量累加球和的函数
    def item_num(self):
                尝试让用户输入
        print('请输入购买数量')

               ​​​​​​​ 如果用户输入的不是整形将返回error,直接返回输入名字函数(题目要求的==)
        try: 
            k = int(input())
        except ValueError:
            print('错误!错误类型:只能输入整数!')
            
        **题目可以直接返回输入商品数量函数的,够严格哈,解注释就完成了
            self.item_num()         

        else: 
            self.totle = self.totle + item_dict[self.name]*k
        #返回所有商品的总记额
        return self.totle
            这里传入的数据是配对后的商品名字
            在这里开始补充32行代码,因为商品的字典是键值对关系,
            所以采用了商品名称来计算相关总计额

    def item_totle(self,name):
        self.name = name
        self.item_num()
        调用主函数
def main():
           
    sum = 0
    item1 = item(sum)
    while True:
                ​​​​​​​类外再判断输入是否正确
        print('请输入商品名称:')
        k = input()
        if k in item_dict:
            item1.item_totle(k)
        if k not in item_dict and k != 'q':
                print('错误!错误类型:查无此商品')
        if k == 'q':
            break
    print('需要支付的金额:{}元'.format(item1.totle))
    
dict_show()
main()

结束啦!是不是很简单?

哎没什么好讲的,全部就都是基础的,今天也不想努力,明天再努力吧。。。

  • 25
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值