码迷,mamicode.com
首页 > 其他好文 > 详细

函数_练习题_登录注册游戏抽奖

时间:2019-09-19 22:11:17      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:lse   钢铁侠   需要   要求   用户名   一个   登录注册   log   格式化   

在猜年龄的基础上编写登录、注册方法,并且把猜年龄游戏分函数处理,如

  1. 登录函数
  2. 注册函数
  3. 猜年龄函数
  4. 选择奖品函数

思路:根据功能要求划分功能模块,每个功能模块封装一个函数,最后按顺序调用函数,根据每次调用函数后的返回结果判断是否进行下一步

def register():
    """注册功能"""
    count = 0
    while count < 3:
        username_inp = input('请输入你的用户名:')
        pwd_inp = input("请输入你的密码:")
        re_pwd_inp = input("请再次输入你的密码:")

        if not pwd_inp == re_pwd_inp:
            print('两次密码不一致')
            count += 1
            continue

        with open('user_info.txt','a',encoding='utf8') as fa:
            fa.write(f'{username_inp}:{pwd_inp}|')  # 用户名和密码用“:”隔开,
            fa.flush()
            return 1

def login():
    """登录功能"""
    username_inp = input("请输入用户名:")
    pwd_inp = input("请输入密码:")

    with open('user_info.txt','r',encoding='utf8') as fr:
        for user_info in fr:
            username, pwd = user_info.split(':')

            if username.strip() == username_inp and pwd.strip('|') == pwd_inp:
                print('登录成功')
                return 1
            else:
                continue  # 一般不会把continue写在最后,在可以不用写
        else:
            print('登录失败')

# 猜年龄游戏
def guess():
    """猜年龄游戏"""
    age = 20
    age_count = 0
    while age_count < 3:
        age_inp = input('请输入你的年龄:')  # 与用户交互

        if not age_inp.isdigit():
            print(f'输入错误,请输入数字')  # f格式化可以拼接数字和字符串
            continue

        age_inp_int = int(age_inp)

        if age_inp_int > age:  # 核心逻辑
            print('猜大了')
        elif age_inp_int < age:
            print('猜小了')
        else:
            print('猜对了')
            return 1
        age_count += 1

def choice():
    """选择奖品"""
    prize_msg = {0:'布娃娃',1:'钢铁侠',2:'nick老师签名',3:'python精品课'}
    prize_dict = {}
    prize_count = 0
    while prize_count < 2:
        print(f'奖品如下:{prize_msg}')

        # 与用户交互
        prize_choice =int(input('请选择你需要的奖品序号:'))
        prize = prize_msg[prize_choice]

        # 奖品信息放入购物车
        if prize in prize_dict:
            prize_dict[prize] += 1
        else:
            prize_dict[prize] = 1

        print(f'恭喜你获得奖品{prize}')

        prize_count += 1

    print(f'总共获得奖品为:{prize_dict}')

res1 = register()
if res1 == 1 :
    res2 = login()
    if res2 == 1:
        res3 = guess()
        if res3 == 1:
            choice()

函数_练习题_登录注册游戏抽奖

标签:lse   钢铁侠   需要   要求   用户名   一个   登录注册   log   格式化   

原文地址:https://www.cnblogs.com/allenchen168/p/11552351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!