zoukankan      html  css  js  c++  java
  • 猜年龄游戏二阶段(循环嵌套)

    # 要求:
    # 登录之后,才能游戏。3次登录机会。
    # 猜年龄,3次机会。失败后可以选择是否继续。
    # 猜对后可以领取奖品。两次。不领取可以直接退出
    
    user_info = {
        'username': 'nick',
        'pwd': '123',
        'login_status': False
    }
    age = 18
    login_count = 3
    guess_count = 3
    prize_count = 2
    
    prize_list = {
        0: 'buwawa',
        1: 'aoteman',
        2: 'python从入门到放弃'
    }
    
    while login_count:
        username = input('请输入账号:').strip()
        pwd = input('请输入密码:').strip()
        if username == user_info['username'] and pwd == user_info['pwd']:
            print('登录成功')
            user_info['login_status'] = True
            break
        else:
            login_count -= 1
            print(f'登录失败,你还有{login_count}次机会,请重新输入账号密码。')
    
    if user_info['login_status']:
        while guess_count:
            inp_age = input('请输入你猜想的年龄:').strip()
            if not inp_age.isdigit():
                guess_count -= 1
                print(f'你还有{guess_count}次机会。请输入数字')
                continue
    
            inp_age = int(inp_age)
            if inp_age != age:
                guess_count -= 1
                print(f'猜错了。你还有{guess_count}次机会。')
                if not guess_count:
                    choice1 = input('继续输入‘y’或‘Y’,退出输入其他字符')
    
                    if choice1 in ['y', 'Y']:
                        guess_count = 3
                        continue
                    break
                continue
            else:
                print('恭喜你猜对了。你可以从下列奖品中领取两份。')
    
                while prize_count:
                    print(f"""奖品列表:
                    {prize_list}
                    输入不存在的序号或者非数字时,将直接退出。
                    """)
                    choice2 = input('请输入你想领取的奖品的序号:').strip()
    
                    if not choice2.isdigit():
                        print('退出')
                        break
    
                    choice2 = int(choice2)
    
                    if choice2 not in prize_list.keys():
                        print('退出')
                        break
    
                    print(f'你领取了{prize_list[choice2]}。')
                    prize_count -= 1
                break
    
    
  • 相关阅读:
    stl-序列式容器
    BFS
    Hash
    二分法
    草稿1
    红黑树的左旋、右旋和颜色变换
    动态规划
    自动驾驶-安全
    二叉树

  • 原文地址:https://www.cnblogs.com/chenych/p/10937332.html
Copyright © 2011-2022 走看看