文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python实现自动售货机

2024-04-02 19:55

关注

本文实例为大家分享了python实现自动售货机的具体代码,供大家参考,具体内容如下

自动售货机代码

while True:
 n=input('请选择操作:')
 if n=='r':
   l=input('请输入货物数量:')
   v=l.split('-')
   numA1=int(v[0])
   numA2=int(v[1])
   numA3=int(v[2])
   numA4=int(v[3])
   numA5=int(v[4])
   numA6=int(v[5])
   t=input('请输入硬币数量:')
   u=t.split('-')
   yiyuan=int(u[0])
   liangyuan=int(u[1])
   wuyuan=int(u[2])
   shiyuan=int(u[3])
   print('S001:Initialization is successful')
 elif n=='q':
     print('会员管理'.center(50,'*'))

     print("""
               操作目录
               0-货物剩余量
               1-钱盒""")
     while True:
       c=input()
       if c=='0':

         print('A1 %d A2 %d A3 %d A4%d A5 %d A6 %d' %(numA1,numA2,numA3,numA4,numA5,numA6))
       elif c=='1':
         print('1yuan coin number=%d 2yuan coin number=%d 5yuan coin number=%d 10 yuan coin number=%d' %(yiyuan,liangyuan,wuyuan,shiyuan))
 elif n=='p':
  counname=input('请选择商品:')
  if counname=='1':
    if numA1<=0:
            print('E007:The goods sold out')
    else:
         m=input('请输入现金:')
         if m=='1':
            print('S003:Buy success,balance=1')
            print('E009:Work failure')
            numA1-=1
            yiyuan+=1
         elif m=='2':
            print('S003:Buy success,balance=1')
            numA1-=1
            liangyuan+=1
            yiyuan-=1
            print('找您一元')
         elif m=='5':
             if yiyuan*1+liangyuan*2<5:
                 print('E003:Change is not enough,pay fail')
             else:
                 print('S002:Pay success,balance=1')
                 print('S003:Buy success,balance=1')
                 numA1-=1
                 wuyuan+=1
                 liangyuan-=2
                 print('找您4元')
         elif m=='10':
             if yiyuan*1+liangyuan*2<10:
                 print('E003:Change is not enough,pay fail')
             else:
                 print('S002:Pay success,balance=1')
                 print('S003:Buy success,balance=1')
                 shiyuan+=1
                 wuyuan-=1
                 liangyuan-=2
                 print('找您9元')
         else:
             print('E002:Denomination error')

  elif counname == '2':
     if numA2 <= 0:
         print('E007:The goods sold out')
     else:
         m=input('请输入现金:')
         if m == '1':
             print('E008:Lack of balance')
         elif m == '2':
             print('S003:Buy success,balance=1')
             print('E009:Work failure')
             numA2 -= 1
             liangyuan += 1
         elif m == '5':
             if yiyuan * 1 + liangyuan * 2 < 5:
                 print('E003:Change is not enough,pay fail')
             else:
                 print('S002:Pay success,balance=2')
                 print('S003:Buy success,balance=1')
                 wuyuan+=1
                 yiyuan-=1
                 liangyuan-=1
                 print('找您三元')
         elif m == '10':
             if yiyuan * 1 + liangyuan * 2  < 10:
                 print('E003:Change is not enough,pay fail')
             else:
                 print('S002:Pay success,balance=2')
                 print('S003:Buy success,balance=1')
                 numA2-=1
                 shiyuan+=1
                 wuyuan-=1
                 yiyuan-=1
                 liangyuan-=2
                 print('找您8元')
         else:
             print('E002:Denomination error')
  elif counname == '3':
     if numA3 <= 0:
         print('E007:The goods sold out')
     else:
         m=input('请输入现金:')
         if m == '1':
             print('E008:Lack of balance')
         elif m == '2':
             print('E008:Lack of balance')
         elif m == '5':
             if yiyuan * 1 + liangyuan * 2 < 5:
                 print('E003:Change is not enough,pay fail')
             else:
                 print('S002:Pay success,balance=3')
                 print('S003:Buy success,balance=1')
                 numA3-=1
                 wuyuan += 1
                 liangyuan -= 1
                 print('找您三元')
         elif m == '10':
             if yiyuan * 1 + liangyuan * 2  < 10:
                 print('E003:Change is not enough,pay fail')
             else:
                 print('S002:Pay success,balance=3')
                 print('S003:Buy success,balance=1')
                 numA3 -= 1
                 shiyuan += 1
                 wuyuan -= 1
                 liangyuan -= 1
                 print('找您7元')
         else:
             print('E002:Denomination error')
  elif counname == '4':
     if numA4 <= 0:
         print('E007:The goods sold out')
     else:
         m=input('请输入现金:')
         if m == '1':
             print('E008:Lack of balance')
         elif m == '2':
             print('E008:Lack of balance')
         elif m == '5':
             if yiyuan * 1 + liangyuan * 2 < 5:
                 print('E003:Change is not enough,pay fail')
             else:
                 print('S002:Pay success,balance=4')
                 print('S003:Buy success,balance=1')
                 numA4 -= 1
                 wuyuan += 1
                 yiyuan -= 1
                 print('找您1元')
         elif m == '10':
             if yiyuan * 1 + liangyuan * 2  < 10:
                 print('E003:Change is not enough,pay fail')
             else:
                 print('S002:Pay success,balance=4')
                 print('S003:Buy success,balance=1')
                 numA4 -= 1
                 shiyuan += 1
                 wuyuan -= 1
                 yiyuan -= 1
                 print('找您6元')
         else:
             print('E002:Denomination error')
  elif counname == '5':
     if numA5 <= 0:
         print('E007:The goods sold out')
     else:
         m=input('请输入现金:')
         if m == '1':
             print('E008:Lack of balance')
         elif m == '2':
             print('E008:Lack of balance')
         elif m == '5':
             print('E008:Lack of balance')
         elif m == '10':
             if yiyuan * 1 + liangyuan * 2 < 10:
                 print('E003:Change is not enough,pay fail')
             else:
                 print('S002:Pay success,balance=6')
                 print('S003:Buy success,balance=1')
                 numA5 -= 1
                 shiyuan += 1
                 liangyuan-=2
                 print('找您4元')
         else:
             print('E002:Denomination error')
  elif counname == '6':
     if numA6 <= 0:
         print('E007:The goods sold out')
     else:
         m=input('请输入现金:')
         if m == '1':
             print('E008:Lack of balance')
         elif m == '2':
             print('E008:Lack of balance')
         elif m == '5':
                 print('S003:Buy success,balance=1')
                 print('E009:Work failure')
                 numA6 -= 1
                 wuyuan+=1
         elif m == '10':
             if yiyuan * 1 + liangyuan * 2 < 10:
                 print('E003:Change is not enough,pay fail')
             else:
                 print('S002:Pay success,balance=5')
                 print('S003:Buy success,balance=1')
                 numA6 -= 1
                 shiyuan += 1
                 wuyuan -= 1
                 print('找您5元')
  else:
    print('E006:Goods does not exist')
 else:
      print('操作无效')

解释说明:钱币盒内只有,一元,两元,五元,十元的硬币;顾客也只能投入这些,钱币盒内一元和两元的总面额必须大于顾客给的面额,顾客一次只能投一次钱并买一件商品,但可以多次投入多次购买。货物数量和钱币数量由管理员初始化设定,管理员也可以查看钱币及货物数量,但查看完毕必须退出。如果投入钱币恰好等于商品价格,则购买成功并提示余额为0,工作失败,意味后续无法购买。

r——–初始化,必须初始化后才能执行程序
q——-管理员查看钱盒和货物信息
p——-顾客购买商品及付款及退钱

如图有:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯