最后一次复习猜年龄

发布时间 2023-12-27 15:30:53作者: xzlwcl

a.txt

apple 5999
key 299
book 99
pen 9

user_info.txt

xzl xzl123
wcl wcl123
xzlwcl 520
sb sb123
# 注册
register_choice = input('是否需要注册,需要按y,不需要按Enter》》》')
if register_choice == 'y':
    print('已开启注册功能')
    while True:
        name_inp = input('输入你的用户名》》》')
        psw_inp = input('输入你的密码》》》')
        # 取出user_info.txt中文件用户与密码放入字典中
        user_dict = dict()
        with open(r'user_info.txt', 'r', encoding='utf8') as fr:
            for user in fr:
                user_list = user.strip().split(' ')
                user_dict[user_list[0]] = user_list[1]
        # 判断用户名是否已被注册
        if name_inp not in user_dict:
            # 将注册的用户名和密码写入user_info.txt文件中
            with open(r'user_info.txt', 'a', encoding='utf8') as fa:
                fa.write(f'\n{name_inp} {psw_inp}')
                print('注册成功,请登录')
                break
        else:
            print('用户已存在,重新输入用户名')
#登录
count_login = 0
while count_login < 3:
    name_login = input('输入你的用户名》》》')
    psw_login = input('输入你的密码》》》')
    # 取出user_info.txt中文件用户与密码放入字典中
    user_dict = dict()
    with open(r'user_info.txt', 'r', encoding='utf8') as fr:
        for user in fr:
            user_list = user.strip().split(' ')
            user_dict[user_list[0]] = user_list[1]
    # 将登录信息与user_info.txt中文件相比对
    if name_login in user_dict and psw_login == user_dict.get(name_login):
        print('登录成功')
        break
    else:
        print('登录失败,重新登录')
    count_login += 1
    if count_login == 3:
        print('登录失败3次,被锁定登录不了')
#游戏
# import random
# age=random.randint(1,100)
age = 18
count = 0
while count < 3:
    age_inp = input('请输入猜的年龄》》》')
    # 误输入的不是数字
    if not age_inp.isdigit():
        print('sb,输入数字')
        continue
    # 正确输入数字
    age_inp = int(age_inp)
    if age_inp == age:
        print('猜对了,请领取下列一个奖品:')
        # 从a.txt文件中取出奖品放入字典中
        prize_dict = dict()
        with open(r'a.txt', 'r', encoding='utf8') as fr:
            for k, v in enumerate(fr):
                prize_dict[k] = v.split(' ')[0]
        while True:
            print(prize_dict)
            # 从字典中拿奖品
            prize_choice = input('请输入奖品对应的数字:')
            if not prize_choice.isdigit():
                print('sb,输入数字领奖品')
                continue
            prize_choice = int(prize_choice)
            print(f'恭喜获得奖品:{prize_dict[prize_choice]}')
            break
        break
    elif age_inp < age:
        print('猜小了')
    else:
        print('猜大了')
    count += 1
    # 猜3次之后是否继续玩
    if count==3:
        game_choice=input('是否继续玩,继续按y,退出按Enter:')
        if game_choice == 'y':
            count = 0
D:\anaconda3\envs\learn\python.exe D:/pythonproject_learn/day10/最后一次复习猜年龄.py
是否需要注册,需要按y,不需要按Enter》》》y
已开启注册功能
输入你的用户名》》》xzl
输入你的密码》》》xz
用户已存在,重新输入用户名
输入你的用户名》》》sb
输入你的密码》》》sb123
注册成功,请登录
输入你的用户名》》》sb
输入你的密码》》》sdf
登录失败,重新登录
输入你的用户名》》》sb
输入你的密码》》》sb123
登录成功
请输入猜的年龄》》》20
猜大了
请输入猜的年龄》》》0
猜小了
请输入猜的年龄》》》owk
sb,输入数字
请输入猜的年龄》》》19
猜大了
是否继续玩,继续按y,退出按Enter:y
请输入猜的年龄》》》18
猜对了,请领取下列一个奖品:
{0: 'apple', 1: 'key', 2: 'book', 3: 'pen'}
请输入奖品对应的数字:edf
sb,输入数字领奖品
{0: 'apple', 1: 'key', 2: 'book', 3: 'pen'}
请输入奖品对应的数字:0
恭喜获得奖品:apple

Process finished with exit code 0