06python上
product_list=[
('Mac',9000),
('kindle',800),
('tesla',900000),
('python book',105),
('bike',2000), ]
saving=input('please input your money:')
shopping_car=[]
if saving.isdigit(): # 做出检验,检验输入是否为数字
# isgraph检验是否为定义字符
# isdigit检验是否为数字
saving=int(saving) # int=()做出一个类型转换
while True:
#打印商品内容
for i,v in enumerate(product_list,1): #enumerate 在清单前面带出索引 加参数 1 表示编号从一开始
print(i,'>>>>',v) #i,v 赋予给 索引和清单 #引导用户选择商品
choice=input('选择购买商品编号[退出:q]:') #验证输入是否合法
if choice.isdigit():
choice=int(choice)
if choice>0 and choice<=len(product_list):
#将用户选择商品通过choice取出来
p_item=product_list[choice-1] #如果钱够,用本金saving减去该商品价格,并将该商品加入购物车
if p_item[1]<saving: # [1] 表示调用索引【1】
saving-=p_item[1] shopping_car.append(p_item) #将所选商品放入购物车。 else:
print('余额不足,还剩%s'%saving) #显示所剩余额
print(p_item)
else:
print('编码不存在') #承接第二个 if 语句
elif choice=='q':
print('------------您已经购买如下商品----------------')
#循环遍历购物车里的商品,购物车存放的是已买商品
for i in shopping_car:
print(i)
print('您还剩%s元钱'%saving) # %s格式化输出
break # 跳出循环
else:
print('invalid input')2018-08-08
最次的 购物车
#_author:supreme
#time:2018/8/8,9:54
#a=[[1,2,],"meony",4,(2,3,4)]
#print(a[0][1]) product_list=[
(" Mac Book",12000),
("自行车",1000),
("饮水机",1500),
("茶几",2000),
("小米电视",4000),
("小米盒子",200),
("云米电冰箱",4000), ]
saving=input("输入您现有的金额:")
shopping_car=[]
if saving.isdigit():
saving=int(saving)
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 p_item[1] < saving:
saving -= p_item[1]
shopping_car.append(p_item)
else:
print("余额不足,还剩%s" %saving)
print(p_item)
else:
print("编码不存在")
elif choice == "q":
print("-------您已经购买如下商品--------")
for i in shopping_car:
print(i)
print("您还剩%s元钱" % saving)
break
else:
print('invalid input')删除: a.remove()
a.pop() # ()内容为数字 ,牵引的编号
del #可以删除任何值、表、对象。
计算 count
添加 extend
附加 append
len(product_list) 显示列表长度
06python上的更多相关文章
- Asp.Net Mvc 使用WebUploader 多图片上传
来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...
- [APUE]进程控制(上)
一.进程标识 进程ID 0是调度进程,常常被称为交换进程(swapper).该进程并不执行任何磁盘上的程序--它是内核的一部分,因此也被称为系统进程.进程ID 1是init进程,在自举(bootstr ...
- 关于解决python线上问题的几种有效技术
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...
- PHP搭建大文件切割分块上传功能
背景 在网站开发中,文件上传是很常见的一个功能.相信很多人都会遇到这种情况,想传一个文件上去,然后网页提示"该文件过大".因为一般情况下,我们都需要对上传的文件大小做限制,防止出现 ...
- 深入浅出Redis-redis底层数据结构(上)
1.概述 相信使用过Redis 的各位同学都很清楚,Redis 是一个基于键值对(key-value)的分布式存储系统,与Memcached类似,却优于Memcached的一个高性能的key-valu ...
- jquery.uploadify文件上传组件
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- 在传统.NET Framework 上运行ASP.NET Core项目
新的项目我们想用ASP.NET Core来开发,但是苦于我们历史的遗产很多,比如<使用 JavaScriptService 在.NET Core 里实现DES加密算法>,我们要估计等到.N ...
- .NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布
众所周知,Red Hat和微软正在努力使.NET Core成为Red Hat企业版Linux (RHEL)系统上的一流开发平台选项.这个团队已经一起工作好几个月了,RHEL对.NET有许多需求.今天在 ...
- Windows 7上执行Cake 报错原因是Powershell 版本问题
在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...
随机推荐
- shell及编程实例
1.shell简介 1) 概念--命令解释器 2) 常见shell bash linux标准shell sh 早期shell,较简单 csh ksh tcsh unix shell vi /etc ...
- CodeForces - 589A (STL容器的使用)
Polycarp has quite recently learned about email aliases. Of course, he used to suspect that the case ...
- postman操作练习用例
1.注册用户:http://api.nnzhp.cn/api/user/user_reg 2.登录用户:http://api.nnzhp.cn/api/user/login 3.添加学生:http:/ ...
- C程序第三次作业
6-1 输出月份英文名 PTA提交列表: 1.设计思路 (1)主要描述题目算法 第一步:将十二个月的名称分别赋值给一维数组指针,定义用于返回的数据类型. 第二步:遍历数组,满足若n在1-12范围则将m ...
- Gym - 100796I:Shell Game(圆台的最大内接球半径)
pro:如题.给定上圆半径r,下圆半径R,高度h.问最大内接球半径. sol:由对称性,我们放到二维来看,即给这么一个梯形,问最大内接圆半径. 证明:如果是一个三角形的内接圆C,他内切于三边. 现在这 ...
- java栈的实现复习
栈是一种线性表,仅限在一端进行插入和删除操作,特点是先进后出. 由于栈是一种线性结构,首先可以想到用数组来实现,但由于数组初始化后容量就已经确定,如果不添加扩容操作,则会出现栈溢出,同时扩容操作也会降 ...
- 看淘宝营销api 文档有感
total: use appkey & secrect variance naming rule 提供沙箱环境 使用api gateway 使用rest(但返回结果包裹了 isp.thread ...
- goaccess geoip 测试
goaccess 是一个很不错的日志实时统计分析工具,我们可以用来方便的分析nginx apcahe iis 等的日志信息 对于geoip 的支持是需要源码编译的,所以基于官方docker 镜像添 ...
- 聊聊Java反射
反射是Java最重要的特性.通过Java反射可以在运行时知道一个类的所有成员和方法,知道一个对象的类类型.成员和方法的所有信息,进而调用对象的方法或生成对象的代理或包装类. Java是面向对象语言,除 ...
- 1.1.17 Word在表格中插入竖排文字,显示一半
隐藏效果如下所示: 这是因为文字的[段落行距]设置为[固定值],将文字选中,设置为[单倍行距]即可.