Python学习笔记(5)practice:shopping_cart
2019-02-27
原代码:
money = int(input("请输入金额:"))
list = ["phone", "clothes", "book", "desk lamp"]
list2 = [5000, 200, 35, 45]
cart = []
for j in range(10000): #最多能够购买的商品数量
i = int(input("请输入你要购买的商品序号:"))
if i >= 4: #判断用户输入的商品序号是否在商品列表内
print("超出商品序号范围!请输入正确的序号")
continue
else:
if int(list2[i]) > money: #判断账户余额是否能够购买商品
print("余额不足,请另购商品")
else:
cart.extend([list[i]]) #将购买的商品名称加入cart列表中
print(str(list[i]), "已经加入购物车")
money = money - int(list2[i]) #计算账户余额
print("余额为:", money)
con = input("是否继续购买?y/n:") #判断用户是否继续购买
list3 = ["y", "Y"]
list4 = ["n", "N"]
if con in list3:
print("请继续选购!")
continue
else:
if con in list4:
break
else:
print("输入指令错误,自动退出")
break
print("购物车中的商品有:", cart) #打印出购物车中的商品
print("欢迎下次光临!!")
修改后代码:
product_list = [("phone", 5000),
("clothes", 3000),
("book", 200),
("desk lamp", 225)
]
money = int(input("请输入您的原始金额:"))
cart = []
while True:
for i, v in enumerate(product_list, 1): # 枚举列表中的元素
print(i, v)
choice = input("请输入产品的序号(q键退出):")
if choice.isdigit():
choice = int(choice)
if choice > 0 and choice <= len(product_list): # 判断用户输入的序列号是否符合要求
p_item = product_list[choice - 1]
if money >= p_item[1]:
money = money - p_item[1] # 计算余额
print("%s已经计入购物车。" % p_item[0])
cart.append(p_item[0])
print("您的余额为:", money)
else:
print("您的余额不足!")
else:
print("请输入正确的序号")
elif choice == "q": # 退出并打印购物车中的商品
print("您的购物车中有以下商品:")
for i in cart:
print(i)
print("你的余额为:%s" % money)
break
else:
print("请输入正确的序号!")
continue
Python学习笔记(5)practice:shopping_cart的更多相关文章
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- python学习笔记--Django入门0 安装dangjo
经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...
- python学习笔记(一)元组,序列,字典
python学习笔记(一)元组,序列,字典
- Pythoner | 你像从前一样的Python学习笔记
Pythoner | 你像从前一样的Python学习笔记 Pythoner
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹
python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...
随机推荐
- 导出MNIST的数据集
在TensorFlow的官方入门课程中,多次用到mnist数据集. mnist数据集是一个数字手写体图片库,但它的存储格式并非常见的图片格式,所有的图片都集中保存在四个扩展名为idx3-ubyte的二 ...
- oracle(cast , to_char , to_date )用法
cast : cast(要转换的值 AS 转换的类型) From To BINARY_FLOAT, BINARY_DOUBLE To CHAR, VARCHAR2 To NUMBER To DATET ...
- 洛谷——P2657 低头一族
https://www.luogu.org/problem/show?pid=2657 题目描述 一群青年人排成一队,用手机互相聊天. 每个人的手机有一个信号接收指标,第i个人的接收指标设为v[i]. ...
- 零基础学python-7.7 字符串格式化方法(1)
承接上一章节.我们这一节来说说字符串格式化的还有一种方法.就是调用format() >>> template='{0},{1} and {2}' >>> templ ...
- Gradle:构建脚本概要
一.构建块 1.每一个构建块都包括三个基本构建块:project.task和property: 2.每一个构建块包括至少一个project,进而又包括一个或多个task: 3.project和task ...
- 验证DG最大性能模式下使用ARCH/LGWR及STANDBY LOG的不同情况
总结: --两台单实例数据库做DG,数据库版本号10.2.0.1.0 1.主库配置为:arch async,备库无STANDBY LOG. 日志中会有:RFS[4]: No standby redo ...
- [寒江孤叶丶的Cocos2d-x之旅_33]RichTextEx一款通过HTML标签控制文字样式的富文本控件
RichTextEx一款通过HTML标签控制文字样式的富文本控件 原创文章,欢迎转载.转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net ...
- mysqli的简单工具包
mysqli的简单工具包 <?php /** * 连接 * @param string $host * @param string $user * @param string $password ...
- poj--1383--Labyrinth(树的直径)
Labyrinth Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 4062 Accepted: 1529 Descrip ...
- [SCOI 2005] 栅栏
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1082 [算法] 首先二分“最多得到的符合条件的木板数”,检验时可以使用DFS,但是, ...