'''
面向過程程式設計
核心過程二字,過程指的是解決問題的步驟,即先幹什麼、再幹什麼、然後幹什麼...
基於該思想編寫程式就好比在設計一條流水線,是一種機械式的思維方式
優點複雜的問題流程化、進而簡單化
缺點擴充套件性極差
'''###1###
# 接收使用者輸入使用者名稱,進行使用者名稱合法性校驗,拿到合法的使用者名稱
def check_user():
while true:
name = input('username>>').strip()
if name.isalpha():
return name
else:
print('使用者名稱必須為字母,傻叉')
# 接收使用者輸入密碼,進行密碼合法性校驗,拿到合法的密碼
def check_pwd():
while true:
pwd1=input('password>>: ').strip()
if len(pwd1) < 5:
print('密碼的長度至少5位')
continue
pwd2=input('again>>: ').strip()
if pwd1 == pwd2:
return pwd1
else:
print('兩次輸入的密碼不一致')
def check_age():
pass
# pwd=check_pwd()
# print(pwd)
# 將合法的使用者名稱與密碼寫入檔案
def insert(user,pwd,age,path='db.txt'): #有參函式
with open(path,mode='a',encoding='utf-8') as f:
f.write('%s:%s:%s\n' %(user,pwd,age))
def register():
user=check_user()
pwd=check_pwd()
age=check_age()
insert(user,pwd,age)
print('register successfull')
register()
###2###
# 使用者功能層
def register():
while true: # 檢測使用者名稱
name=input('username>>: ').strip()
#檢測使用者是否重複,如果重複了則重新輸入,否則break
res=check_user_inte***ce(name)
if res:
print('使用者存在')
else:
break
while true: # 檢測密碼
pwd1 = input('pwd1>>: ').strip()
pwd2 = input('pwd2>>: ').strip()
if pwd1 != pwd2:
print('兩次輸入密碼不一致,重新輸入')
else:
break
def tell_info():
name=input('>>: ').strip()
info=select(name)
print(info)
# 介面層
def check_user_inte***ce(name):
res = select(name) # res=['egon','123']
if res:
return true
else:
return false
# 資料處理層
def select(name):
with open('db.txt', 'r', encoding='utf-8') as f:
for line in f:
info = line.strip('\n').split(':') #info=['egon','123']
if name == info[0]:
return info
c 物件導向程式設計 物件導向
什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...
物件導向程式設計
物件導向程式設計 抽象 封裝 繼承 多型 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因。開放封閉原則 軟體實體應該可以擴充套件,但是不可修改。所有的設計模式都是對不同的可變性進行封裝,從而使系統在不同的角度上達到開發封閉原則。依賴倒轉原則 a 高層不應該依賴低層,兩個都應該依賴抽象。b ...
物件導向程式設計
class team def init self self.name tampa bay buccaneers bucs team print bucs.name tampa bay buccaneers 當呼叫team 函式時,會自動呼叫init函式,self是自動傳入到init中的引數,它指向當...