2019-02-27
原代码:
money = int(input("请输入金额:")) list = ["phone", "clothes", "book", "desk lamp"] list2 = [5000, 200, 35, 45] cart = [] for j in range(10000): #最多能够购买的商品数量 i = int(input("请输入你要购买的商品序号:")) if i >= 4: #判断用户输入的商品序号是否在商品列表内 print("超出商品序号范围!请输入正确的序号") continue else: if int(list2[i]) > money: #判断账户余额是否能够购买商品 print("余额不足,请另购商品") else: cart.extend([list[i]]) #将购买的商品名称加入cart列表中 print(str(list[i]), "已经加入购物车") money = money - int(list2[i]) #计算账户余额 print("余额为:", money) con = input("是否继续购买?y/n:") #判断用户是否继续购买 list3 = ["y", "Y"] list4 = ["n", "N"] if con in list3: print("请继续选购!") continue else: if con in list4: break else: print("输入指令错误,自动退出") break print("购物车中的商品有:", cart) #打印出购物车中的商品 print("欢迎下次光临!!")
修改后代码:
product_list = [("phone", 5000), ("clothes", 3000), ("book", 200), ("desk lamp", 225) ] money = int(input("请输入您的原始金额:")) cart = [] while True: for i, v in enumerate(product_list, 1): # 枚举列表中的元素 print(i, v) choice = input("请输入产品的序号(q键退出):") if choice.isdigit(): choice = int(choice) if choice > 0 and choice <= len(product_list): # 判断用户输入的序列号是否符合要求 p_item = product_list[choice - 1] if money >= p_item[1]: money = money - p_item[1] # 计算余额 print("%s已经计入购物车。" % p_item[0]) cart.append(p_item[0]) print("您的余额为:", money) else: print("您的余额不足!") else: print("请输入正确的序号") elif choice == "q": # 退出并打印购物车中的商品 print("您的购物车中有以下商品:") for i in cart: print(i) print("你的余额为:%s" % money) break else: print("请输入正确的序号!") continue