Python以及c学习者可以加群:651707058
第一步:让用户输入预算 第二步:展示编号 商品 价格 第三步:用户可以将商品选进购物车,也可以将购物车的东西拿出 第四步:显示用户所选商品:重复的商品在商品后面乘以数量 第五步:结算时: 预算足够:显示余额 预算不够:显示还差多少金额
代码:
money = int(input("请输入预算:")) shop = [['1','iphone8',5888],['2','kndle',988],['3','ps4 pro',2800],['4','psv',1200], ['5','psvtv',450],['6','ps4 controler',230],['7','mp3',100]] i = 1#为了通过修改i 退出多重循环 allChoice = [] while(i): for num in range(len(shop)): # 打印商品列表 print(str(shop[num][0]).ljust(5), shop[num][1].ljust(20), str(shop[num][2]).ljust(10), ) choice = input("请输入要加入购物车的商品编号:") choice = [int(it) for it in choice.split(' ')] allChoice += choice #choice是单次选择的商品列表,allchoice是所有选择的商品列表 while(1): total = 0 choiceSet = set(allChoice)#转换成集合,便于不重复计数 for it in choiceSet: print(shop[it-1][0],shop[it-1][1],shop[it-1][2],'*',allChoice.count(it)) total += shop[it-1][2]*allChoice.count(it) print("总计:",total,"余额:",money-total) print("---------------------------------\n" "1:继续选购 2:整理购物车 3:结算\n") option = int(input( "请选择:")) if option == 1: break elif option == 2: item_num = int(input("请输入要删除的商品")) allChoice.remove(item_num)#每次只会删除一个元素 continue else: if money>=total: print("购物结束,余额为:",money-total) else: print("余额不足,还差金额:",total-money) i = 0 break#整个退出
运行情况:
请输入预算:8000 1 iphone8 5888 2 kndle 988 3 ps4 pro 2800 4 psv 1200 5 psvtv 450 6 ps4 controler 230 7 mp3 100 请输入要加入购物车的商品编号:1 2 2 1 iphone8 5888 * 1 2 kndle 988 * 2 总计: 7864 余额: 136 --------------------------------- 1:继续选购 2:整理购物车 3:结算 请选择:2 请输入要删除的商品2 1 iphone8 5888 * 1 2 kndle 988 * 1 总计: 6876 余额: 1124 --------------------------------- 1:继续选购 2:整理购物车 3:结算 请选择: