#乙個簡單的註冊。登入程式。已實現反射,使用者只需要輸入數字即可選擇功能。可保留註冊資訊。定義了乙個只有退出功能的函式。class user:
def __init__(self, name, pwd):
self.name = name
self.pwd = pwd
class authentic:
def __init__(self):
self.userfile = "user.txt"
def user_exist(self): #將儲存使用者名稱密碼的檔案開啟,資訊儲存在生成器裡,便於後面使用:
# 1.註冊時驗證是否有同名的。2.登入時驗證使用者名稱、密碼。不需要傳參。
with open(self.userfile,"r",encoding="utf-8") as f:
for line in f:
line = line.strip()
line_new = line.split("#")
yield line_new
def register(self): #註冊功能
while true:
username=input('請輸入使用者名稱:')
for lst in list(self.user_exist()):
if lst[0]== username:
print('已有同名的,請重新輸入!')
return #如果輸入錯誤,就要退出重新選擇。如何只返回到
#「username=input('請輸入使用者名稱:')」這一行呢?
password=input('請輸入密碼:')
password2=input('請確認密碼:')
if password==password2:
user=user(username,password)
with open(self.userfile,"a",encoding="utf-8")as f:
temp = "\n" + username + "#" + password
#'\n'解決存入時不換行的問題。但有個缺點,txt檔案的第一行總是空行。
f.write(temp)
print('註冊成功,請轉人登入介面。')
return false
else:
print('你兩次輸入的密碼不一致,請重新輸入!')
def login(self):
username=input('請輸入使用者名稱:')
pwd=input('請輸入密碼:')
for lst in list(self.user_exist()):
if lst[0]== username and lst[1]==pwd:
print('登入成功!')
break
else:
print('使用者名稱或密碼錯誤,請檢查後重新輸入!')
def ex(self): #定義了只有退出功能的函式,使用者只需輸入'3',即可退出。
exit() #函式名不能是exit。
def run(self):
opt_lst= [['登入','login'],['註冊','register'],['退出','ex']]
#解決了中文字串與對應的函式名稱不一致的問題。
while true:
for index,item in enumerate(opt_lst,1):
#給列表設定索引,便於使用者輸入數字。
print(index,item[0],item[1])
num = int(input('請輸入您要操作的序號 :').strip())
for index,item in enumerate(opt_lst,1):
if num==index:
if hasattr(obj,item[1]): #此處必須反射物件(obj)中的函式。
if getattr(obj,item[1]):
getattr(obj,item[1])()
if __name__ == '__main__':
obj = authentic()
obj.run()
python實現乙個簡單的登入註冊Demo
coding utf 8 created on fri feb 2 16 14 31 2018 author administrator 乙個簡單的登入註冊demo def showmessage print 新建使用者 鍵入n n print 登入帳號 鍵入e e print 退出程式 鍵入q q...
簡單實現乙個可以註冊 登入 登出的系統
from user class.user import admin if name main user admin while true number input 1 註冊,2 登入,3 退出登入 is or no number.isdigit if not is or no print 請輸入數字...
乙個簡單的verlig程式 乙個簡單C程式的介紹
我們前面學了c語言的一些理論知識,今天通過乙個簡單的程式先來看一看c語言程式是什麼樣子。然後再對程式中的 進行介紹。這個語句的功能是進行有關的預處理操作。include稱為檔案包含命令,後面尖括號的內容稱為標頭檔案或首檔案。此處指包含stdio.h系統標頭檔案,在下面主函式中使用的printf 函式...