#Author Chen
#定义商品列表 List_of_commodities = [ ('Iphone',6888), ('Mac Pro',12888), ('Bike',3000), ('Book',34), ('Cut',98), ]
#定义一个空列表,用于存放已购商品 Purchased_goods = []
Amount_of_shopping = input("请输入您的购物金额:")
if Amount_of_shopping.isdigit(): Amount_of_shopping = int (Amount_of_shopping) while True: for index,item in enumerate(List_of_commodities): print(index,item) chioce = input("请输入您选择的商品编号:") if chioce.isdigit(): chioce = int(chioce) if chioce < len(List_of_commodities) and chioce >= 0 : chitem = List_of_commodities[chioce] if chitem[1] <= Amount_of_shopping: Purchased_goods.append(chitem) Amount_of_shopping-=chitem[1] print("您购买的 %s 已添加到购物车,您当前余额是 %s " %(chitem,Amount_of_shopping) ) else: print("您的余额不足,请充值后再来!!!") else: print("您选择的商品不存在") elif chioce == 'q': print("---------------------------PURCHASED GOODS ----------------------------") for i in Amount_of_shopping: print(i) print("您当前余额是",Amount_of_shopping) exit() else: print("您输入有误,请核对后再次输入")
''' 这是一个较为综合的练习,将之前介绍的基础知识for循环,if判断,while循环等与列表部分的知识进行了融合,希望大家多多练习。 思路 #获取商品列表,也可以使用列表索引的方式实现
#判断用户输入的范围在商品列表内且是整数 #判断是否买的起 #将已购商品加入购物列表,即购物车,同时计算余额
isdigit()方法检查字符串是否只包含数字(全由数字组成)。 语法 以下是isdigit()方法的语法: ? 1 str.isdigit() 参数 NA 返回值 如果字符串中的所有字符都是数字,并至少有一个字符此方法返回true,否则返回false。
enumerate函数说明: 函数原型:enumerate(sequence, [start=0]) 功能:将可循环序列sequence以start开始分别列出序列数据和数据下标 即对一个可遍历的数据对象(如列表、元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标 举例说明: 存在一个sequence,对其使用enumerate将会得到如下结果: start sequence[0] start+1 sequence[1] start+2 sequence[2]...... '''