python购物车程序详解用字典_Python_购物车程序[列表嵌套字典]
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_购物车程序[列表嵌套字典]相关推荐
- 中断程序_ABB机器人中断程序详解(安川FANUC)
ABB机器人中断程序详解 1.新建一个中断程序 test001,类型中断 TRAP hanmianshadiaoliao StopMove; SetDO DO04, 0; !Stop; StartMo ...
- cat命令详解_好程序员Python培训之详解eval好与坏
好程序员Python培训之详解eval好与坏,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们一起来看一下吧. eval是Python的一个内置函数,这个函数的作用 ...
- python变量类型-Python 变量类型详解
变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据类型,这些变量可以存储整 ...
- python六大数据类型详解
python 六大数据类型详解 文章目录 python 六大数据类型详解 数据类型简介 Number(数值) String(字符串) Python字符串的45个方法详解 一.大小写转换 01.capi ...
- python嗅探工具详解附源码(使用socket,带tkinter界面)
python嗅探工具详解(带tkinter界面) 点击详见原理 点击详见原理 TCP/IP协议号补充 必备基础知识 IP数据包格式 详见点此 TCP报文格式 详见点此 struct模块 在Python ...
- Python开发技术详解
Python开发技术详解 下载地址 https://pan.baidu.com/s/1KTrk3B1sajMiPIoo3-Rhuw 扫码下面二维码关注公众号回复 100089获取分享码 本书目录结构如 ...
- Python中lambda详解(包括内置函数map、reduce、filter、sorted、max)
文章目录 一.lambda是什么? 1.lambda语法 2.语法详解 二.lambda的使用 1.定义 2.调用 3.替换 4.作返回值 三.lambda作参数 1.map函数 2.reduce函数 ...
- python中字符串类型的encode()方法_第五章 Python字符串常用方法详解
5.1 Python字符串拼接(包含字符串拼接数字) 在 Python中拼接(连接)字符串很简单,可以直接将两个字符串紧挨着写在一起,具体格式为: strname = "str1" ...
- Python字符编码详解
Python字符编码详解 转自http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html Python字符编码详解 本文简单介绍了各种常用的 ...
- windows上安装Anaconda和python的教程详解
一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因 ...
最新文章
- EF6学习笔记五:继承三策略
- 连接oracle数据库,新建用户登录界面
- 数字图像处理与python实现_数字图像处理学习(2)—— 图像直方图均衡与图像匹配(python实现)...
- 转:DotNET企业架构应用实践-架构师成长之路-如何成为优秀架构师
- Pandas 文本数据方法 findall( )
- 图像算法九:【图像特征提取】特征降维、PCA人脸特征抽取、局部二进制
- 安装sphinx的php扩展,安装php扩展sphinx
- android获取sd的大小,Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法...
- 安装mysql2005出错_SQL Server 2005 安装遇到的错误提示和解决方法
- IMX6Q开发板使用USB直接连接HP LaserJet 1020 plus打印机打印。
- 工程师职业发展的四个阶段
- RFM模型实现用户分层
- 从我开发的深度学习框架看深度学习这几年:TensorFlow, PaddlePaddle(飞桨), 无量...
- C语言中的引用,以及传递引用,数组传递
- 计算机组成与设计:计算机概要与技术
- Copying DNA
- android存储文件数据恢复,安卓手机文件如何恢复?
- 串口硬盘与并口硬盘的区别
- [GWCTF 2019]枯燥的抽奖 1
- 卫生纸玫瑰花折法5步_纸巾玫瑰花的折法 告诉你怎么用纸巾折玫瑰花
热门文章
- 关于 Caused by: java.lang.NoClassDefFoundError: com/alipay/api/AlipayApiException 解决办法
- Go 分布式学习利器(18)-- Go并发编程之lock+WaitGroup实现线程安全
- leetcode-455 分发饼干
- rest-framework之解析器
- [hdu1828] Picture
- 求二维数组最大子数组
- [deviceone开发]-一个很炫的手势动画示例
- 软件安全性能測试(转载)
- Eclipse插件的安装方法
- pku The Windy's KM最小权匹配 or 最小费用最大流