python day02作业

# 1. 用户先给自己的账户充钱:比如先充3000元。
# 2. 页面显示 序号 + 商品名称 + 商品价格,如:
# 1 电脑 1999
# 2 鼠标 10
# …
# n 购物车结算
# 3. 用户输入选择的商品序号,然后打印商品名称及商品价格,并将此商品,添加到购物车,用户还可继续添加商品。
# 4. 如果用户输入的商品序号有误,则提示输入有误,并重新输入。
# 5. 用户输入n为购物车结算,依次显示用户购物车里面的商品,数量及单价,若充值的钱数不足,则让用户删除某商品,直至可以购买,若充值的钱数充足,则可以直接购买。
# 6. 用户输入Q或者q退出程序。
# 7. 退出程序之后,依次显示用户购买的商品,数量,单价,以及此次共消费多少钱,账户余额多少。
shangpin = {'1': {'商品名': '电脑', '价格': 1999},
            '2': {'商品名': '鼠标', '价格': 100},
            '3': {'商品名': '音响', '价格': 200}}
# print(shangpin)
flag = True
while flag:
    num = input("输入你充值的金额:").strip()
    if num.isdigit():
        break
    else:
        print("要整数人民币")
        continue
bus = {}
quan = False
a = 0
while True:
    for i in shangpin:
        print(i, shangpin[i]['商品名'], shangpin[i]['价格'])
    mai = input('请输入你添加购物车的商品序列号\n进入结算请输入n\q退出购物车:')
    if mai == '1':
        a += 1
        bus.setdefault(a, shangpin['1'])
        # print(bus)
    elif mai == '2':
        a += 1
        bus.setdefault(a, shangpin['2'])
    elif mai == '3':
        a += 1
        bus.setdefault(a, shangpin['3'])
    elif mai == 'n':
        print("购物车的商品为\n", bus)
        ok = input("确认结算吗?yes/no")
        if ok == 'yes':
            # yu = sum(bus[1::2])
            suan = []
            my = 1
            for d in bus:
                for i in bus[my]:
                    # print(bus[my][i])
                    suan.append(bus[my][i])
                my += 1
            # print(suan)
            yu = sum(suan[1::2])
            if int(num) > yu:
                print("你的余额为", int(num) - yu, "\n购买的商品为", suan, "\n已成功过购买等待收货")
                flag = False
                break
            else:
                while True:
                    print("你的余额不足,请去掉一点你喜欢的宝贝。\n", "购物车里有\n", bus)
                    lie = int(input("请输入去掉商品的序列号:"))
                    del bus[lie]
                    # print(bus)
                    l1 = []
                    for i in bus:
                        l1.append(i)
                    # print(l1)
                    l2 = []
                    for i in l1:
                        l2.append(bus[i]['价格'])
                    l3 = sum(l2)
                    if int(num) > l3:

                        print('恭喜你金额足够,自动为你下单成功,等代收货吧\n你的余额为',int(num)-l3,'\n商品为:', bus)
                        # flag = False
                        break
                    else:
                        print("请再去掉一些宝贝")
                        continue
            break
            flag = False
    elif mai == 'q':
        print("穷鬼再见!")
        break
    else:
        print("请正确输入序列号")
        continue

 

posted @ 2019-01-29 13:35  Rayja-gyeong  阅读(68)  评论(0)    收藏  举报