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学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...
随机推荐
- centos7把编译安装的服务通过systemctl管理
nginx编译安装的目录是/usr/local/nginx nginx配置文件是/usr/local/nginx/conf/nginx.conf systemctl管理的服务文件在/usr/lib/s ...
- YII实现dropDownList 联动事件
因功能需求,需要用到联动,特此记录分享 一.视图中 <div class="main-form"> <?php $form = ActiveForm::begin ...
- 经典alsa 录音和播放程序
这里贴上虚拟机ubuntu下alsa的录音程序(capture.c)和播放程序(playback.c)的源码. 首先要测试一下自己的ubuntu是否打开了声音.这个可以打开/系统/首选项/声音 来调 ...
- Elasticsearch 三种分页方式
from + size 浅分页 "浅"分页可以理解为简单意义上的分页.它的原理很简单,就是查询前20条数据,然后截断前10条,只返回10-20的数据.这样其实白白浪费了前10条的查 ...
- 0112centos上面l安装卸载mysq
http://www.centoscn.com/CentosServer/sql/2015/0409/5127.html常用命令cat /etc/issuerpm -qa | grep mysqlyu ...
- Flume 读取实时更新的日志文件
http://blog.csdn.net/bright60/article/details/50728306 我用了第一种方法. 1. 日志文件每天roate一个新文件 a) 方案一 There i ...
- 【LeetCode-面试算法经典-Java实现】【033-Search in Rotated Sorted Array(在旋转数组中搜索)】
[033-Search in Rotated Sorted Array(在旋转数组中搜索)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Suppose a sort ...
- 字节与字符_字节流与字符流_ASCII与Unicode_GB2312_GBK_GB18030_BIG-5
字节(Byte):通常将可表示经常使用英文字符8位二进制称为一字节. 一个英文字母(不分大写和小写)占一个字节的空间,一个中文汉字占两个字节的空间. 符号:英文标点2占一个字节,中文标点占两个字节. ...
- json 与其他数据 格式转换及json学习新得
jsonobject var a={"a","A"} 通过json都对象能很轻松的操作json数据 jsonString var a=" ...
- 0x04 二分
二分.三分其实没什么.. 但是真心觉得市面上的朴素二分打法千奇百怪,假如是像我的标程应该是比较稳妥的,然而poj2018那题(前缀和又想起来了)是向下取整,精度有点问题(经常拍出一些什么xxx.999 ...