用戶登陸系統
阿新 • • 發佈:2018-01-21
print div 系統 查詢 nco ram input 登錄 用戶輸入
1.最基礎的,用戶名密碼放到一個文件裏,可以註冊登陸查詢註冊用戶名是否重復
def login(username, password): ‘‘‘ 登錄 :param username:用戶輸入的用戶名 :param password: 用戶輸入的密碼 :return:驗證成功 ‘‘‘ with open(‘userinfo.txt‘, ‘r‘, encoding=‘utf-8‘) as oplogin: for line in oplogin: if line.split(‘%%‘)[0] == username andline.split(‘%%‘)[1] == password: return True return False def register(username, password): ‘‘‘ 註冊 :param username: 用戶輸入的用戶名 :param password: 用戶輸入的密碼 :return: 寫入文件註冊成功 ‘‘‘ with open(‘userinfo.txt‘, ‘a‘, encoding=‘utf-8‘) as opreg: opreg.write(‘\n‘ + username + ‘%%‘ + password) return print(‘註冊成功‘) def same(username): ‘‘‘ 查是否重復用戶名 :param username: 用戶輸入用戶名 :return:如果重復返回True,沒有重復返回Flase ‘‘‘ with open(‘userinfo.txt‘, ‘r‘, encoding=‘utf-8‘) as opsame: for line in opsame: line = line.strip()if line.split(‘%%‘)[0] == username: return True return False # 這個return要在最外層,而不是在if語句裏 def main(): choice = input(‘1:login,2:register‘) if choice == ‘1‘: username = input(‘username‘) password = input(‘password‘) if login(username, password): print(‘登錄成功‘) else: print(‘登錄失敗‘) if choice == ‘2‘: username = input(‘username‘) password = input(‘password‘) if same(username): print(‘用戶名已被占用‘) main() else: register(username, password) main()
2.做一個增強版,在上面的基礎上將文件儲存為字典,用戶名是鍵,值是包含密碼和手機號的 列表,密碼需要包含字母和數字,手機號只能11位,通過用戶名手機號可以更改密碼,可以刪除用戶,通過用戶名密碼可以變更手機號,登陸失敗的時候可以嘗試三次,三次後退出
用戶登陸系統