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. JavaScript之Math

    1. Math Math是js的内置函数,无需创建,把Math作为对象使用就可以调用其属性和方法. 2.Date    2.1 日期对象创建 var now = new Date ( ); 含参数时表 ...

  2. Mondrian辅助组件----Schema WorkBench(架构平台简介)

    Schema WorkBech 是Pentaho套件的另一个组件,是mondrian中schema文件生成工具.通过Schema WorkBench我们可以快速生成一个schema文件,不再需要手写. ...

  3. 移动web总结

    Meta标签:   1 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-sc ...

  4. gitlab修改默认端口

    部署gitlab的时候,一启动,发现80和8080端口已经被占用,无奈,只得先将监听80端口的nginx和监听8080端口的jenkins停止.这会儿有空,琢磨一下如何修改gitlab的默认端口. 修 ...

  5. Thrift-0.10.0 CenOS 7 编译错误 error: expected ')' before 'PRIu32'

    Thrift-0.10.0 CenOS 7 编译错误 error: expected ')' before 'PRIu32' 在编译Thrift的时候,无论是Apache官网tar包,还是Github ...

  6. IC卡触点释放时序

    IC卡触点释放时序过程如下: 要点: 终端必须通过把RST置为低电平状态来启动释放时序: 在置RST为低电平之后VCC断电之前,终端必须将CLK和IO设定为低电平状态: 在置RST.CLK和IO为低电 ...

  7. 通过父元素的hover控制子元素的显示

    .searbar_content_box:hover .searchBar_checked_detail_box{ display:block}

  8. 20155208徐子涵《网络对抗》Exp2 后门原理与实践

    20155208徐子涵<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:当我们在非官方网站上下载软件时,后门极有可能会进入我们 ...

  9. BAT批处理文件,脚本时间值%time:~0,2%%time:~3,2%%time:~6,2%的用法。

    最近公司的项目,需要部署一个oracle定时备份脚本,删除掉特定时间前的备份文件.BAT批处理文件结合windows系统(任务计划程序) 正常情况下我们的任务计划会有反馈数值,通过它可以判断这个任务计 ...

  10. eclipse配置环境变量

    下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 3.配置环境变量:右击“我的电脑”-->&quo ...