【python实例】自动贩卖机

 1 # 所有消费记录
 2 customer_bill = []
 3
 4 # 零售
 5 def sale():
 6     print("=" * 38)
 7     print("1. 乌龙茶  20".center(30))
 8     print("2. 茉莉花茶  80".center(30))
 9     print("3. 绿茶  8".center(30))
10     print("4. 红茶  4.5".center(30))
11     print("=" * 38)
12
13     this_bill = {}
14     money = 0  # 用来记录总价格
15     while True:
16         goods = input("请输入您要购买的商品序号:")
17         if not goods:  # "" --> False
18             print("总共需要支付: %.2f元" % money)
19             u_money = float(input("请输入您支付的金额:"))
20             print("本次支付%.2f元, 应找零%.2f元" % (u_money, u_money - money))
21             this_bill["消费金额"] = money
22             this_bill["支付金额"] = u_money
23             this_bill["找零金额"] = u_money - money
24             customer_bill.append(this_bill)  # 记录本次消费记录
25             break  # 如果啥也没输入,代表不买了,跳出循环
26         count = int(input("请输入您要购买的数量:"))
27
28         if goods == "1":
29             this_bill["乌龙茶"] = count
30             money += 20 * count
31         elif goods == "2":
32             this_bill["茉莉花茶"] = count
33             money += 80 * count
34         elif goods == "3":
35             this_bill["绿茶"] = count
36             money += 8 * count
37         elif goods == "4":
38             this_bill["红茶"] = count
39             money += 4.5 * count
40         else:
41             print("您当前输入有误, 请重新输入")
42             continue
43
44
45 # 查询消费记录
46 def query_bill():
47     u_input = input("请输入您要哪次的消费记录,如不输入,代表查询全部:")
48     if u_input == "":  # 查询全部
49         for bill in customer_bill:  # 遍历获取每次的消费记录
50             print("-----------------------")
51             for k, v in bill.items():  # 遍历一次消费记录, 获取其中存储的键值对
52                 print(k, v)
53     else:
54         count = int(u_input) - 1  # 第一次: 1 ---> list 索引为0
55         bill = customer_bill[count]
56         print("~~~~~bill~~~~~~")
57         for k, v in bill.items():
58             print(k, v)
59
60
61 # 主函数
62 def main():
63     while True:
64         print("=" * 38)
65         print("欢迎来到嘻嘻牌自动贩卖机".center(30))
66         print("1.零售".center(30))
67         print("2.退出".center(30))
68         print("3.查询消费记录".center(30))
69         print("=" * 38)
70
71         res = input("请输入您的选择:")
72
73         if res == "1":
74             sale()
75         elif res == "3":
76             query_bill()
77         elif res == "2":
78             break
79         else:
80             print("您输入有误, 请仔细阅读,重新输入")
81
82
83 if __name__ == "__main__":
84     main()

原文地址:https://www.cnblogs.com/Tree0108/p/12110231.html

时间: 2024-10-16 16:44:51

【python实例】自动贩卖机的相关文章

代写C程序、自动贩卖机C程序代写、代做C语言程序作业

问题描述 假设在某国存在[1,x1,x2,x3,...,xn]多种货币,该国的自动贩卖机在找零时要遵循一个原则--"找零的总张数最少".那么,该如何编写程序,帮助自动贩卖机自动 找零呢? 问题分析 解决这一问题的最直接思路是穷举法.假设需要找零Y元,那么就通过所有的小于Y的货币,列举出找零的所有方案,进而比较哪个总张数最少.这种思路需要在计算中 蕴含有大量的重复,时间复杂度极大.类似问题的一个有效解法是使用动态规划的思想来处理. 求解找零所需要最少货币数 以面值为1,5,10,25的货

自动贩卖机VS无人门店:谁是真正的零售新风口?

原本在线上不断发力,让实体店几乎凋敝的电商,却忽然对线下兴趣大增.阿里疯狂入股.收购线下商超:京东要在全国范围内开设百万家便利店,仅在农村就将开设50万家--这一股浪潮,或将直接改变整个百货零售行业接下来的走势.而同样是在个风口之下,倡导无人管理且自动化运行的贩卖机.门店等,似乎也有将成为新趋势的迹象. 而且关注这一趋势,并不是只有急于开辟线下战场的电商,还有积极转型的传统企业.而自动贩卖机和无人门店究竟谁是真正的零售风口,也将在短兵相接中逐渐展现自己的潜力.或许,在接下来,大众将迅速体验到二者

自动贩卖机购买饮料

功能要求: (1)1,5,10元纸币或硬币 (2)饮料只有橙汁,椰汁,矿泉水,早餐奶,售价分别为3.5,4,2,4.5 (3)实现功能:用户投钱和选择饮料,并通过判断之后,给用户吐出饮料和零钱 思路1: (1)先选择商品 (2)先投币 缺陷:1次只能购买一瓶饮料 def vending_machine(): data = {'橙汁':3.5,'椰汁':4,'矿泉水':2,'早餐奶':4.5} choose = input('请输入你要购买的饮料或投入1,5,10元纸币或硬币:') # 先选择商品

【NLP】Python实例:基于文本相似度对申报项目进行查重设计

Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起到一定纠正作用.单位主要针对科技项目申报审核,传统的方式人力物力比较大,且伴随季度性的繁重工作,效率不高.基于此,单位觉得开发一款可以达到实用的智能查重系统.遍及网络文献,终未得到有价值的参考资料,这个也是自然.首先类似知网,paperpass这样的商业公司其毕业申报专利并进行保密,其他科研单位因发

使用docker安装部署Spark集群来训练CNN(含Python实例)

使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器,每台有8个tesla-GPU,然而平时做实验都只使用了其中的一个GPU,实在暴遣天物! 于是想用spark来把这些GPU都利用起来.听闻d

【转载】python实例手册

今天西爬虫的时候遇到了问题,在网上不停地查找资料,居然碰到两篇好文章: 1.python实例手册   作者:没头脑的土豆 另一篇在这:shell实例手册 python实例手册 #encoding:utf8 # 设定编码-支持中文 0说明 手册制作: 雪松 更新日期: 2013-12-19 欢迎系统运维加入Q群: 198173206 # 加群请回答问题 请使用"notepad++"打开此文档,"alt+0"将函数折叠后方便查阅 请勿删除信息,转载请说明出处,抵制不道德

python实例手册

python实例手册 #encoding:utf8 # 设定编码-支持中文 0说明 手册制作: 雪松 更新日期: 2013-12-19 欢迎系统运维加入Q群: 198173206 # 加群请回答问题 请使用"notepad++"打开此文档,"alt+0"将函数折叠后方便查阅 请勿删除信息,转载请说明出处,抵制不道德行为. 错误在所难免,还望指正! # python实例手册下载地址: http://hi.baidu.com/quanzhou722/item/cf447

python IDLE 自动提示功能

\Python27\Lib\idlelib\目录下 config-extensions.def文件修改等待时间 [AutoComplete] enable=1 popupwait=2000(2000表示2秒,修改为0) AutoComplete.py文件修改提示模块 import os import sys import string 在后面加载待提示的模块(import方式) 如: import urllib import urllib2 import re import cookielib

c++设计模式之单例模式下的实例自动销毁(垃圾自动回收器)

关于C++单例模式下m_pinstance指向空间销毁问题,m_pInstance的手动销毁经常是一个头痛的问题,内存和资源泄露也是屡见不鲜,能否有一个方法,让实例自动释放. 解决方法就是定义一个内部垃圾回收类,并且在Singleton中定义一个此类的静态成员.程序结束时,系统会自动析构此静态成员,此时,在此类的析构函数中析构Singleton实例,就可以实现m_pInstance的自动释放. 附上测试代码 1 #include <iostream> 2 using namespace std