zoukankan      html  css  js  c++  java
  • 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])
    
  • 相关阅读:
    101. Symmetric Tree(js)
    100. Same Tree(js)
    99. Recover Binary Search Tree(js)
    98. Validate Binary Search Tree(js)
    97. Interleaving String(js)
    96. Unique Binary Search Trees(js)
    95. Unique Binary Search Trees II(js)
    94. Binary Tree Inorder Traversal(js)
    93. Restore IP Addresses(js)
    92. Reverse Linked List II(js)
  • 原文地址:https://www.cnblogs.com/setcreed/p/11519986.html
Copyright © 2011-2022 走看看