1 product = [{"名称": "电脑", "价格": 999, '数量': 0}, {"名称": "硬盘", "价格": 320, '数量': 0}, {"名称": "内存",2 "价格": 429, '数量': 0}, {"名称": '主板', "价格": 699, '数量': 0}]3 print("-----------------------------------\n序号\t\t名称\t\t价格")4 for index, dic in enumerate(product, 1):5 print(index, "\t\t\t" + dic.get("名称"), "\t\t" + str(dic.get("价格")) + "")6 print("n 购 物 车 结 算")7 print("-----------------------------------")8 money = input("\033[36m请输入充值金额:\033[0m").strip()9 whileTrue:10 ifstr.isdigit(money):11 money = int(money)12 print("\033[34m您充值的金额为:¥{:.2f}\033[0m".format(money))13 break

14 else:15 money = input("\033[36m输入错误,请重输入充值金额:\033[0m").strip()16 whileTrue:17 choice = input("\033[36m\n1.请输入你要购买的商品序号 2. 按 N 键 查看购物车(结算)>>>\033[0m").strip()18 # ---------------------------------------------- 商 品 购 买 环 节 ------------------------------------------------------

19 ifstr.isdigit(choice):20 if 0 < int(choice) <=len(product):21 choice_add = product[int(choice) - 1]22 # choice_add = product[int(choice) - 1] # 读 取 商 品 的 键23 choice_add['数量']=choice_add['数量']+1

24 print("已将下列商品加入购物车" + "\t" + choice_add.get("名称") + "\t" + str(choice_add.get("价格"))\25 + '\t\t'+str(choice_add.get('数量')))26 else:27 print('商品序号不正确,请输入正确的商品序号>>>')28 # ---------------------------------------------------- 商 品 展 示 环 节 ----------------------------------------------

29 elif choice == 'n':30 print('\033[33m您好,您的购物车商品如下:\033[0m')31 def show_shop():32 globalcost33 cost = 0

34 print("---------------------------------\n序号\t名称\t\t价格\t数量")35 for k,i in enumerate(product,1):36 if i.get('数量')>0:37 globalsingle38 print(k, '\t\t'+i.get('名称') + '\t' + '\t' + str(i.get('价格')) + '\t\t' + str(i.get('数量')))39 single = i.get('价格') * i.get('数量')40 cost +=single41 print("---------------------------------")42 show_shop()43 print('\033[33m温馨提示:余额为:%s 购物车:%s\033[0m' %(money, cost))44

45 # ---------------------------------------------------- 商 品 删 除 环 节 ----------------------------------------------

46 whileTrue:47 choice_del_select = input('\033[36m\n1.输入商品序号,进行删除,2.输入 Y 进入进结算程序:\033[0m')48 ifstr.isdigit(choice_del_select):49 if 0 < int(choice_del_select) <=len(product):50 choice_del = product[int(choice_del_select) - 1]51 if choice_del['数量'] > 0:52 choice_del['数量'] = choice_del['数量']-1

53 else:54 print("本商品已清空,请选择已购买的商品")55 else:56 print("您输入的商品未购买,重新选择")57 # ---------------------------------------------------- 商 品 结 算 环 节 -----------------------------------------------

58 elif choice_del_select.strip().upper() == 'Y':59 if money >cost:60 money -=cost61 # print('成功加入购物车 当前余额为:%s' %(money))62 print('\033[34m\n......结 算 成 功,按 Q 按 键 退 出.......\033[0m')63 # show_shop()64 break

65 else:66 money_add = input('\033[36m您的充值金额不足,请输入充值金额进行结算:\033[0m')67 money += int(money_add)68 if money >cost:69 all_money =money70 money -=cost71 # print('\033[34m\n总共充值 ¥{:.2f} 此时总余额为:¥{:.2f}\033[0m'.format(all_money, money))72 print('\033[34m\n......结 算 成 功,按 Q 按 键 退 出.......\033[0m')73 # show_shop()74 break

75 show_shop()76 print('温馨提示:余额为:%s 购物车:%s' %(money, cost))77 # ---------------------------------------------------- 商 品 退 出 环 节 -----------------------------------------------

78 elif choice.strip().upper() == 'Q':79 print('消费成功,购买商品如下')80 show_shop()81 print('\033[36m此次共花费: ¥{:.2f}:余额为:¥ {:.2f}\033[0m'.format(cost, money))82 break

83 else:84 print('输入错误,请重新输入')

python购物车程序详解用字典_Python_购物车程序[列表嵌套字典]相关推荐

  1. 中断程序_ABB机器人中断程序详解(安川FANUC)

    ABB机器人中断程序详解 1.新建一个中断程序 test001,类型中断 TRAP hanmianshadiaoliao StopMove; SetDO DO04, 0; !Stop; StartMo ...

  2. cat命令详解_好程序员Python培训之详解eval好与坏

    好程序员Python培训之详解eval好与坏,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们一起来看一下吧. eval是Python的一个内置函数,这个函数的作用 ...

  3. python变量类型-Python 变量类型详解

    变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据类型,这些变量可以存储整 ...

  4. python六大数据类型详解

    python 六大数据类型详解 文章目录 python 六大数据类型详解 数据类型简介 Number(数值) String(字符串) Python字符串的45个方法详解 一.大小写转换 01.capi ...

  5. python嗅探工具详解附源码(使用socket,带tkinter界面)

    python嗅探工具详解(带tkinter界面) 点击详见原理 点击详见原理 TCP/IP协议号补充 必备基础知识 IP数据包格式 详见点此 TCP报文格式 详见点此 struct模块 在Python ...

  6. Python开发技术详解

    Python开发技术详解 下载地址 https://pan.baidu.com/s/1KTrk3B1sajMiPIoo3-Rhuw 扫码下面二维码关注公众号回复 100089获取分享码 本书目录结构如 ...

  7. Python中lambda详解(包括内置函数map、reduce、filter、sorted、max)

    文章目录 一.lambda是什么? 1.lambda语法 2.语法详解 二.lambda的使用 1.定义 2.调用 3.替换 4.作返回值 三.lambda作参数 1.map函数 2.reduce函数 ...

  8. python中字符串类型的encode()方法_第五章 Python字符串常用方法详解

    5.1 Python字符串拼接(包含字符串拼接数字) 在 Python中拼接(连接)字符串很简单,可以直接将两个字符串紧挨着写在一起,具体格式为: strname = "str1" ...

  9. Python字符编码详解

    Python字符编码详解 转自http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html Python字符编码详解 本文简单介绍了各种常用的 ...

  10. windows上安装Anaconda和python的教程详解

    一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因 ...

最新文章

  1. EF6学习笔记五:继承三策略
  2. 连接oracle数据库,新建用户登录界面
  3. 数字图像处理与python实现_数字图像处理学习(2)—— 图像直方图均衡与图像匹配(python实现)...
  4. 转:DotNET企业架构应用实践-架构师成长之路-如何成为优秀架构师
  5. Pandas 文本数据方法 findall( )
  6. 图像算法九:【图像特征提取】特征降维、PCA人脸特征抽取、局部二进制
  7. 安装sphinx的php扩展,安装php扩展sphinx
  8. android获取sd的大小,Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法...
  9. 安装mysql2005出错_SQL Server 2005 安装遇到的错误提示和解决方法
  10. IMX6Q开发板使用USB直接连接HP LaserJet 1020 plus打印机打印。
  11. 工程师职业发展的四个阶段
  12. RFM模型实现用户分层
  13. 从我开发的深度学习框架看深度学习这几年:TensorFlow, PaddlePaddle(飞桨), 无量...
  14. C语言中的引用,以及传递引用,数组传递
  15. 计算机组成与设计:计算机概要与技术
  16. Copying DNA
  17. android存储文件数据恢复,安卓手机文件如何恢复?
  18. 串口硬盘与并口硬盘的区别
  19. [GWCTF 2019]枯燥的抽奖 1
  20. 卫生纸玫瑰花折法5步_纸巾玫瑰花的折法 告诉你怎么用纸巾折玫瑰花

热门文章

  1. 关于 Caused by: java.lang.NoClassDefFoundError: com/alipay/api/AlipayApiException 解决办法
  2. Go 分布式学习利器(18)-- Go并发编程之lock+WaitGroup实现线程安全
  3. leetcode-455 分发饼干
  4. rest-framework之解析器
  5. [hdu1828] Picture
  6. 求二维数组最大子数组
  7. [deviceone开发]-一个很炫的手势动画示例
  8. 软件安全性能測试(转载)
  9. Eclipse插件的安装方法
  10. pku The Windy's KM最小权匹配 or 最小费用最大流