哈哈哈

不能笑却又忍不住(low到不能行)

# 30、购物车
# 功能要求:要求用户输入总资产,
# 例如: 2000显示商品列表,让用户根据序号选择商品,加入购物车购买,
#       如果商品总额大于总资产,提示账户余额不足,
#    否则,购买成功

goods=[
    {"name":"电脑","price":1999},
    {"name":"鼠标","price":10},
    {"name":"游艇","price":20},
    {"name":"美女","price":998},]
number = '序号|商品|价格'
while True:
    x = 1
    list1 = []
    sum1 = 0
    total = input('请输入你的总资金:')
    if total.isdigit():
        if int(total) >= 10:      # 小于10元退出
            while True:
                print(number)
                for i in range(1, 5):          # 循环打印商品和价格
                    print(i, ' ', goods[i - 1]['name'], goods[i - 1]['price'])
                choice = input('请输入你选择的商品序号')
                if choice.isdigit():
                    choice = int(choice)
                    if 1 <= choice <= 4:

                        if x == 1:                            # 首次买商品
                            if goods[choice - 1]['price'] < int(total):
                                sum1 += goods[choice - 1]['price']
                                print(goods[choice - 1]['name'], '已经加入购入车您还剩', (int(total) - sum1), '元钱您还需要买什么?'
                                                                                                    '输入Q退出并成功购买。')
                                list1.append(goods[choice - 1]['name'])
                            else:
                                print('余额不足,不能购买')
                                x = 0
                        if x > 1:                             # 第二次买商品
                            if goods[choice - 1]['price'] > int(total) - sum1:
                                print('余额不足,不能购买', goods[choice - 1]['name'])
                            else:
                                sum1 += goods[choice - 1]['price']
                                print(goods[choice - 1]['name'], '已经加入购入车您还剩', (int(total) - sum1), '元钱您还需要买什么?'
                                                                                                    '输入Q退出并成功购买。')
                                list1.append(goods[choice - 1]['name'])
                        x += 1
                    else:
                        print('输入有误')
                else:
                    if choice.upper() == 'Q':
                        if bool(list1) == False:
                            print('你啥都没买啊!')
                            break
                        else:
                            print('您成功购买:', list1)
                            break
                    else:
                        print('输入错误')
        else:
            print('你啥都买不起啊,退下吧!')
            break
    else:
        if total.upper() == 'Q':
            break
        else:
            print('输入错误')
快递寄回家(呵呵了哈,200行 VS 12 行代码)
def menu_2(menu):
    while True:
        for i in menu:
            print(i)
        choice = input('选择:')
        if choice == 'q' or choice == 'b':
            return choice
        elif choice in menu and menu[choice]:
            borq = menu_2(menu[choice])
            if borq == 'q':
                return 'q'
menu_2(menu)

====================================================================================

# 关键词:while(循环),choice(选择),flag(标示),menu(菜单),key(键),break,strip
# 功能要求:见截图三级菜单
menu = {
    '北京':{
        '海淀':{
            '五道口':{
                'sogo':{},
                '网易':{},
                'google':{}
            },
            '中关村':{
                '爱奇艺':{},
                '汽车之家':{},
                'youku':{},
            },
            '上地':{
                '百度':{},
            },
        },
        '昌平':{
            '沙河':{
                '汇德商厦老男孩':{},
                '北航':{},
            },
            '天通苑':{},
            '回龙观':{},
        },
        '朝阳':{
             '朝阳大妈' },
        '东城':{},
    },
    '上海':{
        '闵行':{
            "人民广场":{
                '炸鸡店':{}
            }
        },
        '闸北':{
            '火车站':{
                '携程':{}
            }
        },
        '浦东':{},
    },
    '山东':{
        '济南':{}
    },
}
flag = True
while flag:
    for i in menu:
        print(i)
    choice1 = input('请选择输入1(q退出b返回)')
    if choice1.upper() == 'Q':
        flag = False
    elif choice1.upper() == 'B':
        break
    elif choice1 == '北京':
        while flag:
            for j in menu['北京']:
                print(j)
            choice2 = input('请选择输入2(q退出b返回)')
            if choice2.upper() == 'Q':
                flag = False
            elif choice2.upper() == 'B':
                break
            elif choice2 == '海淀':
                while flag:
                    for k in menu['北京']['海淀']:
                        print(k)
                    choice3 = input('请选择输入3(q退出b返回)')
                    if choice3.upper() == 'Q':
                        flag = False
                    elif choice3.upper() == 'B':
                        break
                    elif choice3 == '五道口':
                        while flag:
                            for l in menu['北京']['海淀']['五道口']:
                                print(l)
                            choice4 = input('请选择输入4(q退出b返回)')
                            if choice4.upper() == 'Q':
                                flag = False
                            elif choice4.upper() == 'B':
                                break
                            elif choice4 == 'sogo':
                                print('您选择的地址是:',choice1,'-',choice2,'-',choice3,'-',choice4)
                                flag = False
                            elif choice4 == 'Google':
                                print('您选择的地址是:',choice1,'-',choice2,'-',choice3,'-',choice4)
                                flag = False
                            elif choice4 == '网易':
                                print('您选择的地址是:',choice1,'-',choice2,'-',choice3,'-',choice4)
                                flag = False
                    elif choice3 == '中关村':
                        while flag:
                            for l in menu['北京']['海淀']['中关村']:
                                print(l)
                            choice4 = input('请选择输入4(q退出b返回)')
                            if choice4.upper() == 'Q':
                                flag = False
                            elif choice4.upper() == 'B':
                                break
                            elif choice4 == '爱奇艺':
                                print('您选择的地址是:', choice1, '-', choice2, '-', choice3, '-', choice4)
                                flag = False
                            elif choice4 == '汽车之家':
                                print('您选择的地址是:', choice1, '-', choice2, '-', choice3, '-', choice4)
                                flag = False
                            elif choice4 == 'youku':
                                print('您选择的地址是:', choice1, '-', choice2, '-', choice3, '-', choice4)
                                flag = False
                    elif choice3 == '上地':
                        while flag:
                            for l in menu['北京']['海淀']['上地']:
                                print(l)
                            choice4 = input('请选择输入4(q退出b返回)')
                            if choice4.upper() == 'Q':
                                flag = False
                            elif choice4.upper() == 'B':
                                break
                            elif choice4 == '百度':
                                print('您选择的地址是:', choice1, '-', choice2, '-', choice3, '-', choice4)
                                flag = False
            elif choice2 == '昌平':
                while flag:
                    for p in menu['北京']['昌平']:
                        print(p)
                    choice3 = input('请选择输入3(q退出,b返回)')
                    if choice3.upper() == 'Q':
                        flag = False
                    elif choice3.upper() == 'B':
                        break
                    elif choice3 == '沙河':
                        while flag:
                            for o in menu['北京']['昌平']['沙河']:
                                 print(o)
                            choice4 = input('请选择输入4(q退出,b返回')
                            if choice4.upper() == 'Q':
                                flag = False
                            elif choice4.upper() == 'B':
                                break
                            elif choice4 == '汇德商厦老男孩':
                                print('您选择的地址是:', choice1, '-', choice2, '-', choice3, '-', choice4)
                                flag = False
                            elif choice4 == '北航':
                                print('您选择的地址是:',choice1,'-',choice2,'-',choice3,'-',choice4)
                                flag = False
                    elif choice3 == '天通苑':
                        print('您选择的地址是:', choice1, '-', choice2, '-', choice3)
                        flag = False
                    elif choice3 == '回龙观':
                        print('您选择的地址是:', choice1, '-', choice2, '-', choice3)
                        flag = False
            elif choice2 == '朝阳':
                while flag:
                    for m in menu['北京']['朝阳']:
                        print(m)
                    choice3 = input('请选择输入3(q退出,b返回')
                    if choice3.upper() == 'Q':
                        flag = False
                    elif choice3.upper() == 'B':
                        break
                    elif choice3 == '朝阳大妈':
                        print('您选择的地址是:', choice1, '-', choice2, '-', choice3)
                        flag = False

            elif choice2 == '东城':
                print('您选择的地址是:', choice1, '-', choice2)
                flag = False
    elif choice1 == '上海':
        while flag:
            for n in menu['上海']:
                print(n)
            choice2 = input('请选择输入3(q退出,b返回')
            if choice2.upper() == 'Q':
                flag = False
            elif choice2.upper() == 'B':
                break
            elif choice2 == '闵行':
                while flag:
                    for x in menu['上海']['闵行']:
                        print(x)
                    choice3 = input('请选择输入3(q退出,b返回)')
                    if choice3.upper() == 'Q':
                        flag = False
                    elif choice3.upper() == 'B':
                        break
                    elif choice3 == '人民广场':
                        while flag:
                            for l in menu['上海']['闵行']['人民广场']:
                                print(l)
                            choice4 = input('请选择输入4(q退出,b返回)')
                            if choice4.upper() =='Q':
                                flag = False
                            elif choice4 .upper() == 'B':
                                break
                            elif choice4 == '炸鸡店':
                                print('您选择的地址是:',choice1,'-',choice2,'-',choice3,'-',choice4)
                                flag = False
            elif choice2 == '闸北':
                while flag:
                    for z in menu['上海']['闸北']:
                        print(z)
                    choice3 = input('请选择输入3(q退出,b返回)')
                    if choice3.upper() == 'Q':
                        flag = False
                    elif choice3.upper() == 'B':
                        break
                    elif choice3 == '火车站':
                        while flag:
                            for v in menu['上海']['闸北']['火车站']:
                                print(v)
                            choice4 = input('请选择输入4(q退出,b返回)')
                            if choice4.upper() =='Q':
                                flag = False
                            elif choice4 .upper() == 'B':
                                break
                            elif choice4 == '携程':
                                print('您选择的地址是:',choice1,'-',choice2,'-',choice3,'-',choice4)
                                flag = False
            elif choice2 == '浦东':
                print('您选择的地址是:', choice1, '-', choice2)
                flag = False
    elif choice1 == '山东':
        while flag:
            for b in menu['山东']:
                print(b)
            choice2 = input('请选择输入2(q退出,b返回)')
            if choice2.upper() == 'Q':
                flag = False
            elif choice2.upper() == 'B':
                break
            elif choice2 == '济南':
                print('您选择的地址是:', choice1, '-', choice2)
                flag = False
    else:
        print('请输入正确地址!')



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值