#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/5/13 0013 10:20
# @Author : Anthony.Waa
# @Site :
# @File : 购物车2.py
# @Software: PyCharm # 原始购物清单
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
] # 购物车
shopping_car = {} # 商品个数
good_count = 1 while True:
# 用户输入总资产
all_money = input("\033[1;32m 请输入总资产: \033[0m").strip()
if all_money.isdigit():
all_money = int(all_money) # 显示购物商品列表
print('\033[1;32m ========== 商 品 清 单 ========== \033[0m'.center(20))
for good_index, good in enumerate(goods, 1):
print('\033[1;32m {0} {1} {2} \033[0m'.format(good_index, good['name'],good['price']).center(20))
print('\033[1;32m 选择"q"退出 \033[0m'.center(20)) while True:
# 选择商品序号,或选择退出购物
choice_count = input("\033[1;32m 请输入商品序号: \033[0m").strip()
if choice_count.isdigit():
choice_count = int(choice_count) # 商品序号小于商品列表长度
if choice_count > 0 and choice_count <= len(goods):
good_price = goods[choice_count - 1]['price'] # 用户资产大于商品价格,否则提示充值
if all_money > good_price:
good_name = goods[choice_count - 1]['name']
all_money -= good_price # 商品是否存在购物车中
if good_name not in shopping_car:
shopping_car[good_name] = good_count
else:
for shopping_index, shopping_name in enumerate(shopping_car):
if shopping_name == good_name:
shopping_car[shopping_name] += 1 print('\033[1;32m 已购商品有: \033[0m', shopping_car)
print('\033[1;32m 余额为: \033[0m', all_money) else:
print('\033[1;31m 余额不足,请充值: \033[0m'.center(17))
add_money = input("请输入总资产:").strip()
if add_money.isdigit():
add_money = int(add_money)
all_money += add_money
print('\033[1;32m 充值成功,剩余金额为: \033[0m'.center(17), all_money)
continue
else:
print("\033[1;31m 输入不合法,请重新输入 \033[0m")
continue elif choice_count.lower() == 'q':
print("\033[1;32m 购物结束,欢迎下次光临 \033[0m")
print('\033[1;32m 已购商品有: \033[0m', shopping_car)
exit()
else:
print("\033[1;31m 输入不合法,请重新输入 \033[0m")
continue
else:
print("\033[1;31m 输入不合法,请重新输入 \033[0m")
continue

最新文章

  1. javascript_core_06之正则、Math、Date
  2. Linux录屏软件
  3. gradle介绍
  4. Xamarin Android设置界面提示类型错误
  5. go安装windows源码
  6. 转:python webdriver API 之控制浏览器滚动条
  7. Date 与 switch的运用
  8. 记录一下mvc发布
  9. Linux iconv使用
  10. structs常用的Action
  11. ios中利用NSDateComponents、NSDate、NSCalendar判断当前时间是否在一天的某个时间段内。
  12. extract-text-webpack-plugin---webpack插件
  13. C语言实现某年某月某日是某年的第几天
  14. JavaSE | IO流
  15. lua 安装
  16. ios开发之--编码及命名规范
  17. ==,equals,hashcode
  18. Linux内核分析实验三----跟踪分析Linux内核的启动过程
  19. DP 换硬币问题
  20. J2EE课程设计——企业人力资源管理系统

热门文章

  1. Apex语言(五)循环结构
  2. CF1168B Good Triple 性质分析_好题
  3. SSO 单点登录解决方案
  4. 数据结构总结(UPDATING......)
  5. 洛谷P1090 合并果子【贪心】
  6. luogu 2483 K短路 (可持久化左偏树)
  7. [luogu 4886] 快递员
  8. Windows Server 2008 R2x64 IIS7+PHP5.6 错误 500.0
  9. Codeforces 805D/804B - Minimum number of steps
  10. java并发之停止线程