python作業(二)實現註冊功能和登陸功能
阿新 • • 發佈:2018-09-04
[] nbsp del inf pen pan style NPU pytho
#1、實現註冊功能
輸入:username、passowrd,cpassowrd
#最多可以輸錯3次
#3個都不能為空
#用戶名長度最少6位, 最長20位,用戶名不能重復
#密碼長度最少8位,最長15位
#兩次輸入的密碼要一致
#註冊成功之後,要寫到文件裏面
#2、登陸功能實現:
#3次
用戶名和密碼你去文件裏面取
一、註冊
1 f=open(‘users.txt‘,‘a+‘) 2 f.seek(0) 3 res=f.read() 4 all_users=[] 5 for i inres.split(‘/n‘): 6 username=i.split(‘,‘)[0] 7 all_users.append(username) 8 for i in range(3): 9 username=input(‘username:‘) 10 pwd=input(‘pwd:‘) 11 cpwd=input(‘cpwd‘) 12 if len(username)<6 and len(username)>20: 13 print(‘用戶名輸入大於六位,小於20位‘) 14 elif len(pwd)>8 andlen(pwd)<15: 15 print(‘密碼輸入最小8位,最大15位‘) 16 elif username in all_users: 17 print(‘用戶名已註冊‘) 18 elif pwd!=cpwd: 19 print(‘兩次輸入不一致‘) 20 else: 21 info=‘%s,%s‘ %(username,pwd) 22 f.write(info) 23 print(‘註冊成功‘) 24 break 25 else: 26 print(‘輸入次數太多‘) 27 28 f.close()
二、登錄
1、第一種方法:直接取文件中的值進行對比
1 f=open(‘users.txt‘,‘r‘) 2 res=f.read() 3 allnamep=res.split(‘\n‘) 4 for i in range(3): 5 username=input(‘username‘) 6 pwd=input(‘pwd‘) 7 user_info=username+‘,‘+pwd 8
9 if user_info not in allnamep: 10 print(‘帳號密碼不存在‘) 11 else: 12 print(‘登陸成功‘) 13 14 f.close()
2、第二種方法:將文件讀取出來,存入字典,從字典中取值進行取比
1 userall={} 2 f=open(‘users.txt‘,‘r‘) 3 res=f.read() 4 for i in res.split(‘\n‘): 5 if i.strip()!=‘‘: #判斷res不等於空的行 6 username = i.split(‘,‘)[0] 7 pwd=i.split(‘,‘)[1] 8 userall[username]=pwd 9 #print(userall) 10 for i in range(3): 11 username=input(‘username:‘) 12 pwd=input(‘pwd:‘) 13 if username in userall: 14 if pwd==userall.get(username): 15 print(‘登陸成功‘) 16 else: 17 print(‘帳號/密碼錯誤‘)
python作業(二)實現註冊功能和登陸功能