功能要求:
1.要求用户输入自己拥有的总资产,例如:30000
2.显示商品列表的序号,商品名称,商品价格,让用户根据序号选择商品,然后加入购物车
例如:
1 Macbook 12000
2 Logines 8730
3 Villa 650000
3.用户可以多次购买商品
4.用户输入q退出|输入n结算
5.结算的时候如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
trades = [
{"trade_name": "Macbook", "value": 12000},
{"trade_name": "Gucci-glasses", "value": 6388},
{"trade_name": "Logines", "value": 8730},
{"trade_name": "Girlfriend", "value":23000},
{"trade_name": "Tesla", "value": 476000},
{"trade_name": "Diamond-ring", "value": 18800},
{"trade_name": "Villa", "value": 6500000},
]
trades = [
{"trade_name": "Macbook", "value": 12000},
{"trade_name": "Gucci-glasses", "value": 6388},
{"trade_name": "Logines", "value": 8730},
{"trade_name": "Girlfriend", "value":23000},
{"trade_name": "Tesla", "value": 476000},
{"trade_name": "Diamond-ring", "value": 18800},
{"trade_name": "Villa", "value": 6500000},
]
flag = 1
shopping_cart = {}
usr_fund = 0
while flag:
fund = input('尊敬的客户,请输出您的资产: ').strip()
if fund.isdigit():
usr_fund += int(fund) # 得到用户的总资产
break
else:
print('您输入的金额有误,请重新输入') while flag:
for i in trades:
print(range(len(trades)),i['trade_name'],i['value'])
# 取得商品序号,商品和价钱
res = input('请您输入商品序号或者N/Q结算或者退出: ').strip()
if res.upper() =='Q': # 执行退出操作
exit('有需要再来光顾哦!')
elif res.upper() =='N': #执行结算操作
while flag:
if usr_fund < sum(shopping_cart.values()):
# 如果用户金额小于结算金额
cmd = input(f"您还差{(sum(shopping_cart.values()) - usr_fund)}元才能付款,输入1/0可以选择充值或取消购买").strip()
if cmd == '':
while 1:
cmd_1 = input('充值金额: ').strip()
if cmd_1.isdigit():
usr_fund += int(cmd_1)
break
else:
print('您输入的有误,请重新输入')
elif cmd == '':
exit('有需要再来光顾哦!')
else:
print('您输入的有误,请重新输入')
else:
print('您的购物车现在有: ')
for i in shopping_cart:
print(i,shopping_cart[i])
print(f"您的余额还有{usr_fund - sum(shopping_cart.values())}元")
break
break elif res.isdigit(): #如果用户输入的是序号,那就加入购物车
res_1 = int(res)
if res_1 - 1 in [range(len(trades)) for i in trades]: #如果用户输入的序号在商品列表中
if trades[res_1]['trade_name'] not in shopping_cart:
shopping_cart.setdefault(trades[res_1 -1]['trade_name'],trades[res_1 -1]['value'])
else:
shopping_cart[trades[res_1 -1]['trade_name']] += trades[res_1 -1]['value']
print('\n'f"{trades[res_1 -1]['trade_name']}已添加到购物车,价值{trades[res_1 -1]['value']}元"'\n')
else:
print('您输入的有误,请重新输入')
else:
print('您输入的有误,请重新输入')

最新文章

  1. 分享一实战性开源MVC框架&lt;Linux、Windows跨平台开发so easy&gt;
  2. 在finally中调用一个需要await的方法
  3. web前端入门:一小时学会写页面
  4. Mybatis开篇以及配置教程
  5. tar.xz文件如何解压 (已验证)
  6. iOS-MVVM设计模式
  7. Java NIO 学习笔记
  8. Android项目使用Assets下的文件
  9. 图形化代码阅读工具——Scitools Understand
  10. 浅谈面试中的OOD面向对象设计问题
  11. vue鼠标悬停事件
  12. Angular 引入第三方框架方法(如Jquery,Bootstrap)
  13. [UE4]Slider
  14. mysql 分组查询的结果当成临时表 在求最大值
  15. Redis Desktop Manager连接Redis
  16. 如何查看PostgreSQL的checkpoint 活动
  17. 其他ip无法访问Yii的gii,配置ip就可以
  18. Dbshop v1.3任意用户密码重置漏洞
  19. 解决myeclipse启动慢的问题
  20. Android用Gson解析JSON字符串

热门文章

  1. Ubuntu16.04下安装搭配Python3.6相关配置软件方法
  2. 全球最全路由DNS服务器IP地址
  3. maven打包含有多个main程序的jar包及运行方式
  4. 【C语言】符号优先级
  5. C#:注册组件 (cmd)
  6. 6种常见的Git错误以及解决的办法
  7. CentOS SVN服务器管理多项目
  8. Atitit 数据融合merge功能v3新特性.docx
  9. 解决百度云推送通知,不显示默认Notification
  10. JavaScript Scroll家族以及封装