# -*- coding:utf-8 -*-#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循环等与列表部分的知识进行了融合,但愿你们多多练习。思路#获取商品列表,也能够使用列表索引的方式实现# for item in List_of_commodities:# print(List_of_commodities.index(item),item)# 将输入的购物金额强制转换为整数#判断用户输入的范围在商品列表内且是整数#判断是否买的起#将已购商品加入购物列表,即购物车,同时计算余额 isdigit()方法检查字符串是否只包含数字(全由数字组成)。语法如下是isdigit()方法的语法:?1str.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]......'''