黑马程序员技术交流社区
标题:
【上海校区】python基础-面向过程编程
[打印本页]
作者:
梦缠绕的时候
时间:
2019-11-15 09:29
标题:
【上海校区】python基础-面向过程编程
面向过程编程
面向过程编程其实是一种机械式的思维方式,其核心就是"过程"。
过程指的是一种解决问题的步骤,即先干什么再干什么,最后干什么。
优点:将复杂的问题流程化,进而简单化。
哈哈哈哈,这种时刻,话不多说,上代码!
# 需求:实现一个注册功能
def user_pwd_auth():
"""
检验用户名、密码的合法性
:return: 合法的用户名、密码
"""
while True:
username = input("请输入用户名>>>:")
if username.isalpha():
break
else:
print("您输入的用户名不合法!")
while True:
password = input("请输入密码>>>:")
re_pwd = input("请输入确认密码>>>:")
if password == re_pwd:
break
else:
print("密码和确认密码不一致!")
return username, password
def cut_user_pwd(username, pwd):
"""
拼接用户名和密码,返回一个字符串
:param username: 用户名
:param pwd: 密码
:return: 字符串
"""
return f"{username}|{pwd}\n"
def save_user(userinfo):
"""
将用户名和密码信息存储在文本文件中
:param userinfo: 拼接后的用户名和密码字符串
:return: None
"""
with open("userinfo.txt", "a", encoding="utf-8") as af:
af.write(userinfo)
def register():
"""
注册用户信息
:return:
"""
# 1、让用户输入用户名、密码,检验用户名和密码的合法性,得到合法的用户名和密码
username, pwd = user_pwd_auth()
# 2、将用户名和密码进行拼接,得到一个用户密码字符串
user_pwd = cut_user_pwd(username, pwd)
# 3、将用户密码字符串存入文本文件中
save_user(user_pwd)
register()
以上就是实现用户注册功能的面向过程思想的代码的展现。这个时候,如果我们想要在用户注册的时候,保存用户角色,并且每一个用户信息以用户名命名的文本文件保存,那我们该咋整?
# 需求:实现一个注册功能
def user_pwd_auth():
"""
检验用户名、密码、用户角色的合法性
用户角色:普通用户、管理员、超级用户
:return: 合法的用户名、密码、用户角色
"""
while True:
username = input("请输入用户名>>>:")
if username.isalpha():
break
else:
print("您输入的用户名不合法!")
while True:
password = input("请输入密码>>>:")
re_pwd = input("请输入确认密码>>>:")
if password == re_pwd:
break
else:
print("密码和确认密码不一致!")
while True:
user_role = input("请输入用户角色(普通用户/管理员/超级用户):")
if user_role in ['普通用户', '管理员', '超级用户']:
break
else:
print("您输入的用户角色不正确!")
return username, password, user_role
def cut_user_pwd(username, pwd, user_role):
"""
拼接用户名和密码,返回一个字符串
:param username: 用户名
:param pwd: 密码
:return: 字符串
"""
return f"{username}|{pwd}|{user_role}\n"
def save_user(userinfo, username):
"""
将用户名和密码信息存储在文本文件中
:param userinfo: 拼接后的用户名和密码字符串
:return: None
"""
with open(f"{username}.txt", "w", encoding="utf-8") as wf:
wf.write(userinfo)
def register():
"""
注册用户信息
:return:
"""
# 1、让用户输入用户名、密码和用户角色。
# 检验用户名、密码和用户角色的合法性,得到合法的用户名、密码和用户角色
username, pwd, user_role = user_pwd_auth()
# 2、将用户名、密码和用户角色进行拼接,得到一个用户密码角色字符串
user_pwd = cut_user_pwd(username, pwd, user_role)
# 3、将用户密码角色字符串存入以用户名命名的文本文件中
save_user(user_pwd, username)
register()
为了展现这个缺点,一声不吭的使用了【CV】大法。非常感谢小阔爱们看到了这里,从上述两个代码中可以发现,面向过程编程缺点:若修改某一部分功能,会导致其他部分同时需要修改。牵一发而动全身,扩展性差。
作者:
梦缠绕的时候
时间:
2019-11-15 09:29
有任何问题欢迎在评论区留言
作者:
梦缠绕的时候
时间:
2019-11-15 09:30
或者添加学姐微信
DKA-2018
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2