• 逻辑练练手小程序


    写个练练手,自己增加要求增加写,至上而下写

    # 小程序要求:
    # 1.用户可能输入内容中前后多按了空格进行去除
    # 2.用户不按规定输入内容返还输入,并给与警告提示
    # 3.需要记录用户的信息,输入次数规定3
    # 4.提示密码错误,账号错误,或者两者都错
    # 4.奖品可选猜对了可以获取2个
    # 5.猜的机会有3次
    # 6.拿了奖品还能选择能否继续玩
    # 7.年龄范围随机 18-15
    #思路:
    '''
    按照功能,
    1.多按了空格去除空格,用字符串中的strip方法,
    
    2.有规定次数的引入一个变量进行次数的判断
    
    3.随机数用random函数来解决
    '''
    # 导入随机函数
    import random
    
    # 需要用到的信息
    
    gift_dict = {
        '1': 'Altman',
        '2': 'cat',
        '3': 'dog',
        '4': 'pig'
    }
    username_pwd_dict = {
        'yangwenyi': 123,
        'nick': 123
    }
    
    user_dict = dict()
    
    # 计数
    
    gift_count = 0
    age_count = 0
    username_count = 0
    
    # 规定年龄
    
    under_age = random.randrange(18, 26)  # 随机数字18-25
    
    # 用户交互 输入账号密码
    while username_count < 3:
        user_name = input('请输入你的名字:').strip()
        pwd = int(input('请输入你的密码').strip())
        name_list = username_pwd_dict.keys()
        if pwd == username_pwd_dict.get(user_name):
            print(f'欢迎{user_name}来到猜年龄游戏')
            username_count = 4
        elif user_name in name_list:
            print('账号正确,密码错误')
            username_count += 1
        else:
            username_count += 1
            print('账号错误')
        if username_count == 1:
            print('你已经输错了一次账号密码了还剩2次机会')
        elif username_count == 2:
            print('你已经错两次了,'
                  '就剩下1次机会了')
        elif username_count == 3:
            print('机会已经用完了')
            user_name_choose = input('叫爸爸在给你次机会').strip()
            if user_name_choose == '爸爸':
                username_count = 0
            else:
                print('大丈夫能屈能伸,'
                      '你居然这也办不到太让我失望了游戏结束')
    
        # 用户交互猜年龄
        print('骚年我们开始猜年龄吧年龄18到25,'
              '猜对了有礼物哦,你有三次机会')
        while age_count < 3:
            age_input = input('请输入你的年龄').strip()
            if not age_input.isdigit():
                print('好好输入数字,'
                      '猜对了后面有礼物给你哦')
                age_count += 1
                print(f'你已经浪费了{age_count}次机会了,'
                      f'还剩{3 - age_count}次机会')
                continue
            else:
                if int(age_input) == under_age:
                    print('骚年猜对了,来选礼物吧')
                    age_count = 4
                    gift_count = 0
                elif int(age_input) > under_age:
                    print('大了')
                    age_count += 1
                    print(f'已经使用了{age_count}次机会了,'
                          f'还剩{3 - age_count}次机会')
                else:
                    print('小了')
                    age_count += 1
                    print(f'已经使用了{age_count}次机会了,'
                          f'还剩{3 - age_count}次机会')
    
    
    
            # 与用户交互猜对了拿里面,兼是否还玩
            while age_count == 4 and gift_count != 2:
                gift_chose = input('输入1奖品Altma,'
                                   '输入2奖品catt,'
                                   '输入3奖品为dog,'
                                   '输入4奖品为pig
    '
                                   '请选择:').strip()
                if not gift_dict.get(gift_chose):
                    gift_count += 1
                    print(f'你个傻子这也输入错了,礼物较少{gift_count}个')
                else:
                    gift_count += 1
                    print(f'已经选择{gift_dict[gift_chose]},还有{2 - gift_count}选礼物机会')
                    if gift_dict[gift_chose] not in user_dict:
                        user_dict[gift_dict[gift_chose]] = 1
                    else:
                        user_dict[gift_dict[gift_chose]] += 1
                if gift_count == 2:
                    print(f"恭喜你获得
    'Altman'{user_dict.get('Altman',0)}个
    "
                          f"'cat'{user_dict.get('cat',0)}个
    "
                          f"'dog'{user_dict.get('dog', 0)}个
    "
                          f"'pig'{user_dict.get('pig', 0)}个")   #get函数没找到返回,0
                    age_count = 3
    
            # 与用户交互要不要继续
    
            while age_count == 3:
                age_chose = input('输入小哥哥我们接着游戏,输入我不玩了结束游戏
    '
                                  '请输入')
                if age_chose == '小哥哥':
                    age_count = 0
                elif age_chose == '我不玩了':
                    age_count = 100
                    print('拜拜')
                else:
                    print('好好输入')
    
  • 相关阅读:
    区间dp_学习笔记
    状态压缩dp_学习笔记
    第十一届蓝桥杯C/C++ J题网络分析(带权并查集水题)
    状态机dp学习笔记_AcWing
    洛谷P4052 [JSOI2007]文本生成器(AC自动机+DP)
    洛谷P5840 [COCI2015]Divljak (AC自动机+fail树上dfs序+树上差分线段树维护)
    洛谷P3401 [USACO12JAN]Video Game G(AC自动机+记忆化搜索)
    HDU3613 Best Reward (exKMP/manacher)
    洛谷P2375 [NOI2014]动物园(KMP+倍增优化)
    ICPC2017南宁站题解(A,E,F,H,I,J,L,M)
  • 原文地址:https://www.cnblogs.com/pythonywy/p/10922322.html
Copyright © 2020-2023  润新知