Python初学时购物车程序练习实例
不多说了,直接上代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #Author:Lancy Wu 2 3 product_list=[ 4 ('Iphone',5800), 5 ('Mac Pro',9800), 6 ('Bike', 800), 7 ('Watch', 10600), 8 ('Coffee', 31), 9 ('Lancy Python', 120) 10 ] #商品列表 11 shopping_list=[] #定义一个列表来存储已购商品 12 salary=input("请输入工资:") 13 if salary.isdigit(): #当输入的内容为数字 14 salary=int(salary) #将输入的工资转换成int类型 15 while True: 16 #循环打印出所有商品列表,有两种写法,一般用下面一种 17 # for item in product_list: 18 # print(product_list.index(item),item) 19 for index,item in enumerate(product_list): #enumerate()这个方法是取出列表下标 20 print(index,item) 21 user_choice=input("是否购买商品?如果要购买商品请输入商品编号:") 22 if user_choice.isdigit(): #当输入的商品编号为数字 23 user_choice=int(user_choice) #将输入的商品编号转换成int类型 24 if user_choice<len(product_list) and user_choice>=0: #判断输入的商品编号是否存在 25 p_item=product_list[user_choice] #根据商品下标取出所购买的商品 26 if p_item[1]<=salary: #当商品的价格小于等于余额 27 shopping_list.append(p_item) #将购买的商品存储到shopping_list[]列表中 28 salary-=p_item[1] #计算余额 29 print("您购买的商品为%s,余额为\033[31;1m%s\033[0m"%(p_item,salary)) #这个地方做了一下处理,将余额高亮显示 30 else: #当商品的价格大于余额 31 print("\033[41;1m你的余额只剩[%s]\033[0m"%salary) #这个地方做了一下处理,将余额高亮显示 32 else: 33 print("该商品不存在!") 34 elif user_choice=='q': #当输入的商品编号为q时,打印购买的商品和余额并退出程序 35 print("--------以下是购买的商品--------") 36 for p in shopping_list: 37 print(p) 38 print("您的余额为:",salary) 39 exit() 40 else: 41 print("该商品不存在!")