taoyx.log co"> 实例 - 购物车 (列表、循环) - 11GX
首页 > 实例 - 购物车 (列表、循环)

实例 - 购物车 (列表、循环)

 

salary = int(input('Please input your money:'))product = [('iphone6s',5800),('mac bood',9000),('coffee',32),('python book',80),('bicyle',1500),
]shopping = []while True:#打印商品内容n = 1for i,v in product:print(n,'.',i,v)n += 1#引导用户选择商品choice = input('选择购买商品编号:<退出:q>')#验证输入是否符合规范if choice.isdigit():choice = int(choice)if choice > 0 and choice <= len(product):#判断存款是否大于余额if salary > product[choice-1][1]:#计算余额,并将商品加入购物列表,并提示用户购买成功salary = salary - product[choice-1][1]shopping.append(product[choice-1][0])print('已加入%s到您的购物车,当前余额为:%s'%(product[choice-1][0],salary))else:print('余额不足,你的余额为:%d'%salary)else:print('编码不存在')#验证用户是否退出,并将购物车中内容打印elif choice == 'q':print('-'*10,'您已经购买如下商品','-'*10)for u in shopping:print(u)print('你的余额为:%d'%salary)breakelse:print('invalid input')

实例小结:

 

.isdigit() 

  描述:检测字符串是否只由数字组成 

  语法:str.isdigit()

  返回值:如果字符串只包含数字则返回 True 否则返回 False

enumerate()

  描述:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中

  语法:enumerate(sequence, [start=0])

  参数:sequence -- 一个序列、迭代器或其他支持迭代对象

     start -- 下标起始位置

  返回值:返回 enumerate(枚举) 对象

  实例:

seasons = ['Spring', 'Summer', 'Fall', 'Winter']res1 = list(enumerate(seasons))res2 = list(enumerate(seasons,1))print(res1)print(res2)
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
Run result

  for 循环使用 enumerate:

seq = ['one', 'two', 'three']
for i, element in enumerate(seq):print (i, seq[i])
0 one
1 two
2 three
Run result

 

转载于:https://www.cnblogs.com/id19910408/p/8459860.html

更多相关:

  • #coding:utf-8'''Created on 2017年10月25日@author: li.liu'''import pymysqldb=pymysql.connect('localhost','root','root','test',charset='utf8')m=db.cursor()'''try:#a=raw_inpu...

  • python数据类型:int、string、float、boolean 可变变量:list 不可变变量:string、元组tuple 1.list list就是列表、array、数组 列表根据下标(0123)取值,下标也叫索引、角标、编号 new_stus =['刘德华','刘嘉玲','孙俪','范冰冰'] 最前面一个元素下标是0,最...

  • from pathlib import Path srcPath = Path(‘../src/‘) [x for x in srcPath.iterdir() if srcPath.is_dir()] 列出指定目录及子目录下的所有文件 from pathlib import Path srcPath = Path(‘../tenso...

  • 我在使用OpenResty编写lua代码时,需要使用到lua的正则表达式,其中pattern是这样的, --热水器设置时间 local s = '12:33' local pattern = "(20|21|22|23|[01][0-9]):([0-5][0-9])" local matched = string.match(s, "...

  • 在分析ats的访问日志时,我经常会遇到将一些特殊字段对齐显示的需求,网上调研了一下,发现使用column -t就可以轻松搞定,比如 找到ATS的access.log中的200响应时间过长的日志 cat access.log | grep ' 200 ' | awk -F '"' '{print $3}' > taoyx.log co...