面向過程編程 面向過程編程其實是一種 機械式的思維方式 ,其核心就是 "過程" 。 過程指的是 一種解決問題的步驟 ,即先乾什麼再乾什麼,最後乾什麼。 優點 :將複雜的問題流程化,進而簡單化。 哈哈哈哈,這種時刻,話不多說,上代碼! 以上就是實現用戶註冊功能的面向過程思想的代碼的展現。這個時候,如果 ...
面向過程編程
面向過程編程其實是一種機械式的思維方式,其核心就是"過程"。
過程指的是一種解決問題的步驟,即先乾什麼再乾什麼,最後乾什麼。
優點:將複雜的問題流程化,進而簡單化。
哈哈哈哈,這種時刻,話不多說,上代碼!
# 需求:實現一個註冊功能
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】大法。非常感謝小闊愛們看到了這裡,從上述兩個代碼中可以發現,面向過程編程缺點:若修改某一部分功能,會導致其他部分同時需要修改。牽一發而動全身,擴展性差。