面向过程编程的程序(写一个register功能程序)
查看面向过程编程(理论)内容,请点击这里
注册功能升级版(对注册功能用户密码进行md5加密并保存),请点击这里
例1:写一个注册功能
涉及到的需求(发散思维可增减功能):1、用户注册账户密码时需要检验合法性
2、将用户数据进行拼接形成格式
3、将用户数据(账户密码)保存到本地文件
# 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("两次密码不一致,请重新输入...")
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()