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上的更多相关文章

  1. Asp.Net Mvc 使用WebUploader 多图片上传

    来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...

  2. [APUE]进程控制(上)

    一.进程标识 进程ID 0是调度进程,常常被称为交换进程(swapper).该进程并不执行任何磁盘上的程序--它是内核的一部分,因此也被称为系统进程.进程ID 1是init进程,在自举(bootstr ...

  3. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

  4. PHP搭建大文件切割分块上传功能

    背景 在网站开发中,文件上传是很常见的一个功能.相信很多人都会遇到这种情况,想传一个文件上去,然后网页提示"该文件过大".因为一般情况下,我们都需要对上传的文件大小做限制,防止出现 ...

  5. 深入浅出Redis-redis底层数据结构(上)

    1.概述 相信使用过Redis 的各位同学都很清楚,Redis 是一个基于键值对(key-value)的分布式存储系统,与Memcached类似,却优于Memcached的一个高性能的key-valu ...

  6. jquery.uploadify文件上传组件

    1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...

  7. 在传统.NET Framework 上运行ASP.NET Core项目

    新的项目我们想用ASP.NET Core来开发,但是苦于我们历史的遗产很多,比如<使用 JavaScriptService 在.NET Core 里实现DES加密算法>,我们要估计等到.N ...

  8. .NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布

    众所周知,Red Hat和微软正在努力使.NET Core成为Red Hat企业版Linux (RHEL)系统上的一流开发平台选项.这个团队已经一起工作好几个月了,RHEL对.NET有许多需求.今天在 ...

  9. Windows 7上执行Cake 报错原因是Powershell 版本问题

    在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...

随机推荐

  1. mysql 在 win 安装 最全攻略(附转载的乱码终极解决方案)以及解决data too long for column 'name' at row 1, 一种可能就是因为编码一致性问题.

    [博客园cnblogs笔者m-yb原创,转载请加链接,公众号aandb7, github.com/mayangbo666,QQ群927113708] https://www.cnblogs.com/m ...

  2. oracle 汉字转拼音

    oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等) 效果如下: Oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下 Sql代码 --oracle汉字转拼音 PACKAGE ...

  3. L335 Nasa’s Twin Study Reveals Effects of Time Spent in Space on the Human Body

    What exactly happens to a human body in space? Despite decades of astronauts going on space missions ...

  4. 学号 20175223 《Java程序设计》第4周学习总结

    学号 20175223 <Java程序设计>第4周学习总结 教材学习内容总结 第五章要点: 要点1:子类与父类:extends.类的树形结构: 要点2:子类的继承性:同一包中与不在同一包中 ...

  5. 2019-04-11-day030-网络编程并发

    内容回顾 黏包 tcp协议为了保证数据的可靠传输和传输效率 合包机制 : 连续多条短数据会合并成一条 拆包机制 : 一个过大的数据会在发出之前被拆成几个小包 tcp的黏包发生在两端: 发送端 : 合包 ...

  6. 数据文件resize回收空间

    场景说明: 客户 ASM磁盘组,data磁盘组空闲空间90G,空间不足,因此强烈建议回收空间 空间回收方案: 1.数据文件resize,回收部分可用性空间(好处就是能够将ASM磁盘组free大小增加) ...

  7. Linux下安装oracle的步骤和一些问题

    今天在Linux64位系统安装oracle数据库,折腾了一天,终于搞定了,现在把安装步骤梳理下,防止以后忘记:    (以下内容来自http://blog.163.com/junwu_lb/blog/ ...

  8. 数据持久化系列之Mysql

    一.命令行操作 1.显示所有库: show databases; 2.要操作某个库,比如库名: db_book:use db_book; 3.查看表的基本结构,比如表名: t_book:desc t_ ...

  9. 软件工程 week 02

    一.地址链接 1.作业地址:https://edu.cnblogs.com/campus/nenu/2016CS/homework/2110 2.git仓库地址:https://git.coding. ...

  10. Spring boot+Spring Security 4配置整合实例 【转】

    http://blog.csdn.net/code__code/article/details/53885510