多使用者註冊&登入函式封裝版
阿新 • • 發佈:2021-11-17
要求:
1.基於檔案實現使用者註冊及登入功能
2.多使用者模式,註冊登入功能可迴圈執行
3.將功能封裝成函式
def login(): """用於使用者登入的函式""" print('開始登入'.center(30, '*')) # 登入功能 login_name = input('請輸入使用者名稱>>>:').strip() login_pwd = input('請輸入密碼>>>:').strip() with open(r'info.txt', 'r', encoding='utf8') as user_read: for line in user_read: line = line.strip('\n') if line.split('|')[0] == login_name and line.split('|')[1] == login_pwd: print('登入成功') return else: print('使用者名稱或密碼錯誤') return 1 def register(): """用於使用者註冊的函式""" # 註冊功能 print('開始註冊'.center(30, '*')) username = input('請輸入使用者名稱>>>:').strip() pwd = input('請輸入密碼>>>:').strip() # 判斷使用者是否已註冊 with open(r'info.txt', 'r', encoding='utf8') as if_exist: for line in if_exist: if line.split('|')[0] == username: print('使用者已註冊') break else: with open(r'info.txt', 'a', encoding='utf8') as user_write: user_write.write('{}|{}\n'.format(username, pwd)) print('使用者:{}註冊成功'.format(username)) return return 1 # 構建功能列表 func_dict = {'1': ['註冊', register], '2': ['登入', login]} while True: for i in range(1, len(func_dict) + 1): print(i, func_dict.get(str(i))[0]) choice = input('請輸入序號以選擇功能(q/Q退出)>>>:').strip() if choice.upper() == 'Q': break while choice.isdigit() and choice in func_dict: res = func_dict[choice][1]() if res: continue else: break else: print('序號輸入有誤,請重新輸入') continue