Erlo

面对编程过程的程序

2020-10-13 09:00:27 发布   206 浏览  
页面报错/反馈
收藏 点赞

  查看面对编程过程(理论)内容,请点击这里

 

 

例1:写一个注册功能

  涉及到的需求(发散思维可增减功能):1、用户注册账户密码时需要检验合法性

                    2、将用户数据(账户密码)保存到本地文件

def get_user_pwd():
    while True:
        # 让用户输入用户名
        username = input("请输入用户名:").strip()
        # 校验用户名是否为纯英文,.isalpha() 检验英文字母、中文
        if username.isalpha():
            break
        else:
            print("用户名不合法,请重新输入...")
    while True:
        # 让用户输入密码
        password = input("请输入密码:").strip()
        re_password = input("请再次输入密码:").strip()
        # 检验两次面是否一致
        if password == re_password:
            break
        else:
            print("两次密码不一致,请重新输入...")
    return username, password

# 2.拼接字符串
def cut_user_pwd(user, pwd):
    user_info = f"{user}:{pwd}n"
    return user_info

# 3.1.保存用户数据,写入文件中,每个用户用一个文件保存
def save_data(user_pwd_str, user):
    with open(f"user_data/{user}.txt", "w", encoding="utf-8") as f:
        f.write(user_pwd_str)
# 3.2.保存用户数据,写入文件中,所有用户数据用一个文件保存
# def save_data(user_pwd_str):
#     with open("user_data/pwd.txt", "a", encoding="utf-8") as f:
#         f.write(user_pwd_str)

# 注册功能demo
def register():
    # 1.先让用户输入用户名和密码,校验合法性,得到合法的用户名和密码
    user, pwd = get_user_pwd()
    # 2.设计字符串的拼接
    user_pwd_str = cut_user_pwd(user, pwd)
    # 3.1.保存用户数据,写入文件中,每个用户用一个文件保存
    save_data(user_pwd_str, user)
    # 3.2.保存用户数据,写入文件中,所有用户数据用一个文件保存
    # save_data(user_pwd_str)
    print("注册成功!")

# 执行注册功能demo
register()

  注:代码中的定义和调用阶段的3.1和3.2是两种保存数据的不同方式,切换时将另一种注释掉即可

 

 

例2:在例1的基础上添加一个用户角色,要求用户注册时候输入用户角色

# 1.先让用户输入用户名和密码,校验合法性
def get_user_pwd():
    while True:
        # 让用户输入用户名
        username = input("请输入用户名:").strip()
        # 校验用户名是否为纯英文,.isalpha() 检验英文字母、中文
        if username.isalpha():
            break
        else:
            print("用户名不合法,请重新输入...")
    while True:
        # 让用户输入密码
        password = input("请输入密码:").strip()
        re_password = input("请再次输入密码:").strip()
        # 检验两次面是否一致
        if password == re_password:
            break
        else:
            print("两次密码不一致,请重新输入...")

    # 先定义一个所有角色的列表
    role_list = ["普通用户", "管理员用户", "超级用户"]
    while True:
        # 让用户输入用户角色
        user_role = input("请输入你的用户角色(普通用户、管理员、超级用户):").strip()
        if user_role in role_list:
            break
        else:
            print("输入错误,请重新输入...")
    return username, password, user_role

# 2.拼接字符串
def cut_user_pwd(user, pwd, role):
    user_info = f"{user}:{pwd}:{role}n"
    return user_info

# 3.保存用户数据,写入文件中,每个用户用一个文件保存
def save_data(user_pwd_str, user):
    with open(f"user_data/{user}.txt", "w", encoding="utf-8") as f:
        f.write(user_pwd_str)

# 注册功能demo
def register():
    # 1.先让用户输入用户名和密码,校验合法性,得到合法的用户名和密码
    user, pwd, role = get_user_pwd()
    # 2.设计字符串的拼接
    user_pwd_str = cut_user_pwd(user, pwd, role)
    # 3.保存用户数据,写入文件中,每个用户用一个文件保存,以用户名为文件命名
    save_data(user_pwd_str, user)
    print("注册成功!")

# 执行注册功能demo
register()
登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认