python实现自动售货机

 更新时间:2022年01月25日 14:19:29   作者:似水灬流年  
这篇文章主要为大家详细介绍了python实现自动售货机,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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——-顾客购买商品及付款及退钱

如图有:

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

相关文章

  • wxPython色环电阻计算器

    wxPython色环电阻计算器

    这篇文章主要为大家详细介绍了wxPython色环电阻计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Python实现图片转字符画的示例代码

    Python实现图片转字符画的示例代码

    本篇文章主要介绍了Python实现图片转字符画的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Python如何处理异常报错方法(建议收藏!)

    Python如何处理异常报错方法(建议收藏!)

    开发程序其实就像预测天气一样,即使是代码的异常错误,也应该能预测且被控制,下面这篇文章主要给大家介绍了关于Python如何处理异常报错方法的相关资料,需要的朋友可以参考下
    2022-06-06
  • Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解

    Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解

    箱线图一般用来展现数据的分布,如上下四分位值、中位数等,也可以直观地展示异常点,下面这篇文章主要给大家介绍了关于Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解的相关资料,需要的朋友可以参考下
    2022-08-08
  • Python详细讲解图像处理的而两种库OpenCV和Pillow

    Python详细讲解图像处理的而两种库OpenCV和Pillow

    这篇文章介绍了Python使用OpenCV与Pillow分别进行图像处理的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Python执行系统命令的五种方式小结

    Python执行系统命令的五种方式小结

    在日常开发中,有时需要在Python脚本中执行系统命令,Python有五种方式来执行系统命令(推荐使用第五种),本文为大家整理了这五种方法的具体使用,希望对大家有所帮助
    2024-01-01
  • Python实现多行注释的另类方法

    Python实现多行注释的另类方法

    这篇文章主要介绍了Python实现多行注释的另类方法,本文使用的是Python多行文本功能来另类的实现Python的多行注释,需要的朋友可以参考下
    2014-08-08
  • python基于xml parse实现解析cdatasection数据

    python基于xml parse实现解析cdatasection数据

    这篇文章主要介绍了python基于xml parse实现解析cdatasection数据的方法,是非常实用技巧,需要的朋友可以参考下
    2014-09-09
  • PyTorch 中的傅里叶卷积实现示例

    PyTorch 中的傅里叶卷积实现示例

    这篇文章主要介绍了PyTorch 中的傅里叶卷积实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 浅谈python图片处理Image和skimage的区别

    浅谈python图片处理Image和skimage的区别

    这篇文章主要介绍了浅谈python图片处理Image和skimage的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08

最新评论