• day06 作业


    猜年龄游戏

    '''
    1. 给定年龄,用户可以猜三次年龄
    2. 年龄猜对,让用户选择两次奖励
    3. 用户选择两次奖励后可以退出
    '''
    
    import random
    
    age = random.randint(18, 40)  # 随机数字,范围18-40
    count = 0
    reward_dict = {
        '0': '奥特曼',
        '1': '钢铁侠',
        '2': '《笨方法学python》',
        '3': '泰国一日游',
        '4': 'iphoneX',
        '5': '娃娃',
        '6': '阿拉丁',
        '7': '特斯拉',
        '8': '谢谢惠顾'
    }
    
    reward_cart = {}   # 用户获得奖品放在这里
    
    while count < 3:
        count += 1
        age_inp = input('请输入你的年龄:').strip()
    
        if not age_inp.isdigit():  # 判断是否是数字
            print('非法输入字符,请重新输入')
    
        age_inp = int(age_inp)
        # 删选年龄范围
        if age_inp > 40 or age_inp < 18:
            print('超出范围,请重新输入')
    
        # 核心逻辑
        if age_inp == age:
            print('猜对了')
    
            # 打印奖品
            for i, j in reward_dict.items():
                print(f'奖品编号:{i}  {j}')
    
            # 用户抽奖两次
            for k in range(2):
                reward_choice = input('请输入你想要的奖品').strip()
    
                if reward_choice not in reward_dict:  # 删选范围
                    print('没这么多奖品')
                else:
                    reward_get = reward_dict[reward_choice]
                    print(f'恭喜获得奖品:{reward_get}')
    
                    if reward_get not in reward_cart:
                        reward_cart[reward_get] = 1
                    else:
                        reward_cart[reward_get] += 1
    
            print(f'恭喜你获得以下奖品:{reward_cart}')
            break
    
        elif age_inp < age:
            print('猜小了')
    
        else:
            print('猜大了')
        continue
    

    三级菜单

    menu = {
        '北京': {
            '海淀': {
                '五道口': {
                    'soho': {},
                    '网易': {},
                    'google': {}
                },
                '中关村': {
                    '爱奇艺': {},
                    '汽车之家': {},
                    'youku': {},
                },
                '上地': {
                    '百度': {},
                },
            },
            '昌平': {
                '沙河': {
                    '老男孩': {},
                    '北航': {},
                },
                '天通苑': {},
                '回龙观': {},
            },
            '朝阳': {},
            '东城': {},
        },
        '上海': {
            '闵行': {
                "人民广场": {
                    '炸鸡店': {}
                }
            },
            '闸北': {
                '火车战': {
                    '携程': {}
                }
            },
            '浦东': {},
        },
        '山东': {},
    }
    
    # 直接来,一层层进入
    tag = True
    while tag:
        menu1 = menu
        for key in menu1:
            print(key)
    
        choice1 = input('第一层>>').strip()
        if choice1 == 'b':
            break
        if choice1 == 'q':
            tag = False
            continue
        if choice1 not in menu1:
            continue
    
        while tag:
            menu2 = menu1[choice1]
            for key in menu2:
                print(key)
    
            choice2 = input('第二层>>').strip()
            if choice2 == 'b':
                break
            if choice2 == 'q':
                tag = False
                continue
            if choice2 not in menu2:
                continue
    
            while tag:
                menu3 = menu2[choice2]
                for key in menu3:
                    print(key)
    
                choice3 = input('第三层>>').strip()
                if choice3 == 'b':
                    break
                if choice3 == 'q':
                    tag = False
                    continue
                if choice3 not in menu3:
                    continue
    
                while tag:
                    menu4 = menu3[choice3]
                    for key in menu4:
                        print(key)
    
                    choice4 = input('第四层>>').strip()
                    if choice4 == 'b':
                        break
                    if choice4 == 'q':
                        tag = False
                        continue
                    if choice4 not in menu4:
                        continue
                        
                        
                        
    # 偷懒方法
    menu1 = [menu]
    while True:
        if len(menu1) == 0:
            break
        current_menu = menu1[-1]
        for key in current_menu:
            print(key)
    
        choice = input('请输入>>').strip()
        if choice == 'q':
            break
    
        if choice == 'b':
            menu1.pop(-1)
            continue
    
        menu1.append(current_menu[choice])
    
  • 相关阅读:
    龟兔赛跑(多线程练习题)
    进程和线程详解
    toString()方法详解
    使用IDEA的Git插件上传项目教程
    js运算符单竖杠“|”的用法和作用及js数据处理
    vue项目axios请求接口,后端代理请求接口404,问题出现在哪?
    jQuery的ajax的post请求json格式无法上传空数组
    es6 学习小记 扩展运算符 三个点(...)
    select2插件使用小记2
    js中多维数组转一维
  • 原文地址:https://www.cnblogs.com/setcreed/p/11519986.html
Copyright © 2020-2023  润新知