'''

5:购物车类,包含的功能如下,请自行设计这个类以及类里面的方法:
1)用户输入工资后,打印商品列表(商品列表自行设计展示模式)
2)允许用户根据商品编号去选择商品
3)用户选择商品后,检查余额是否足够,够的话直接扣款,不够的话就对用户做出提醒
4)用户可以随时退出,退出时打印用户的购买商品以及余额
'''
class ShoppingTrolley:

    commodity_list = {'1':{'computer':'8000'},'2':{'phone':'6000'},'3':{'camera':'4000'},'4':{'keyboard':'2000'},'5':{'t-shirt':'500'},'6':{'chocolate':'100'},'7':{'banana':'20'}}
salary = input('请输入您的工资:') # 打印商品列表
def print_commodity(self):
com_list = self.commodity_list
for key1 in com_list.keys():
for key2 in com_list[key1]:
print('''
商品编号:{0}
商品名称:{1}
商品价格:{2}
'''.format(key1,key2,com_list[key1][key2]) ) return com_list # 选择商品
def choose_commodity(self):
while True:
com_id = input('请输入商品编号库;,若退出请输入q:')
if com_id in self.commodity_list.keys() or com_id == 'q':
break
else:
print('您输入的商品编号不存在!')
return com_id # 计算金额
def charge(self):
com_list = self.print_commodity()
money_total = int(self.salary)
com_buy_list = []
while True:
com_id = self.choose_commodity() # 获取要购买商品编号
if com_id == 'q': # 若获取的商品编号为q,退出循环
break
# 根据获取的商品编号,取出对应的商品名称和商品价格
for key,value in com_list[com_id].items():
com_name = key
com_price = int(value) if money_total - com_price >= 0: # 计算当前余额是否足够购买当前商品
money_total -= com_price
print('你购买的商品是{0},花费{1}元,扣除费用后余额{2}元'.format(com_name,com_price,money_total))
com_buy_list.append(com_name) # 每次购买成功后,记录购买的商品
else: # 余额不足时,退出循环
print('你购买的商品是{0},需花费{1}元,余额不足!'.format(com_name,com_price))
break
print('您购买的商品为:{0},余额{1}元'.format('、'.join(com_buy_list),money_total)) s1 = ShoppingTrolley()
s1.charge(


												

最新文章

  1. Mysql连接到Visual studio注意
  2. HAL驱动库学习--如何使用HAL库
  3. Add and Search Word - Data structure design
  4. SQL 数据库表标识列初始化 DBCC
  5. 各I/O模型 对应Web服务应用模型(select,poll,epoll,kevent,"/dev/poll")
  6. java基础之String
  7. 类:初识类的事件(有点不明白,怎么普通Precedure可以赋值给TEvent)
  8. 创建一个vue项目的过程
  9. JAVA 二进制基础
  10. Codeforces Round #411 (Div. 1) D. Expected diameter of a tree
  11. JS执行环境,作用域链及非块状作用域
  12. koa2源码解读及实现一个简单的koa2框架
  13. C++版-剑指offer 面试题6:重建二叉树(Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal) 解题报告
  14. 如何在hanlp词典中手动添加未登录词
  15. python学习笔记(23)——python压缩bin包
  16. Catch That Cow (bfs)
  17. 【BZOJ4300】 绝世好题
  18. var_dump出现省略号的问题
  19. SQL的三种连接方式内连接、左连接、外连接
  20. Thunder——Final冲刺中间产物

热门文章

  1. apple-touch-icon-precomposed
  2. python3操作mysql数据库表01(基本操作)
  3. CentOS7.3+MySQL5.7+Apache2.4+PHP7.1+phpMyAdmin4.7+JDK1.8+SVN1.6+Jenkins2.1环境搭建
  4. web端 repeat和简单控件
  5. mdns小结
  6. groff - groff 文档排版系统前端
  7. MySQL Innodb表空间不足的处理方法
  8. message() 信息提示
  9. 关于在vue 中使用百度ueEditor
  10. Docker 学习基本操作与守护式容器