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学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...
随机推荐
- 常见的dos命令(及抒写方式)
1.dir:列出当前目录下的主体及文件夹. 2.md:创建目录. 3.rd:删除目录.{注意:rd不能删除非空的文件夹,并且只能用于文件夹的删除} 3.cd :进入指定目录. 4.cd . . :退出 ...
- vscode快捷键(lua开发)
快速定位行:ctrl+g 查找:ctrl+f 格式化代码:ctrl+alt+f 快速查找到当前复制内容的第一次出现的位置ctrl+d 其他常用不一一列举了
- CodeForcesGym 100676H Capital City
H. Capital City Time Limit: 3000ms Memory Limit: 262144KB This problem will be judged on CodeForcesG ...
- 洛谷——P1115 最大子段和
https://www.luogu.org/problem/show?pid=1115#sub 题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入输出格式 输入格式: 输入文件ma ...
- CF870A Search for Pretty Integers
CF870A Search for Pretty Integers 题意翻译 给出两个整数n,m,a数组有n个数,b数组有m个数.求一个数,这个数的每一位必须在a数组和b数组中至少出现过一次,求符合条 ...
- 【SSH2框架(理论篇)】--SSH2 Vs 经典三层
这几天一直在学习使用SSH2框架.对于框架本身的使用并非非常困难.相信经过多锻炼就行熟练的掌握框架的使用,让我匪夷所思的是在使用框架的时候感觉非常熟悉,好像在哪里用过似得. 就在某次查看代码的时 ...
- HDU 5078 Revenge of LIS II(dp LIS)
Problem Description In computer science, the longest increasing subsequence problem is to find a sub ...
- Android中XML解析,保存的三种方法
简单介绍 在Android开发中,关于XML解析有三种方式,各自是: SAX 基于事件的解析器.解析速度快.占用内存少.非常适合在Android移动设备中使用. DOM 在内存中以树形结构存放,因此检 ...
- shell脚本创建和执行
shell脚本并不能作为正式的编程语言,因为它是在Linux的shell中运行的,所以称他为shell脚本. 事实上,shell脚本就是一些命令的集合. 我们不妨吧所有的操作都记录到一个文档中,然后去 ...
- C#——单元测试
测试搭建请看:http://www.cnblogs.com/Look_Sun/p/4514732.html 右键不出现Generate Unit Test选项请参考:http://www.jb51.n ...