Python学习笔记(5)practice:shopping_cart

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

 

点赞