標籤:不能 檔案 實現 txt utf-8 orm strip() 確認密碼 輸入
#1、實現註冊功能
#輸入:username、passowrd,cpassowrd
#最多可以輸錯3次
#3個都不可為空
#使用者名稱長度最少6位, 最長20位,使用者名稱不能重複
#密碼長度最少8位,最長15位
#兩次輸入的密碼要一致
#註冊成功之後,要寫到檔案裡面
#2、登陸功能實現:
#3次
# 使用者名稱和密碼你去檔案裡面取
#註冊
f=open(‘users.txt‘,‘a+‘,encoding=‘utf-8‘)
f.seek(0)
users={}
for l in f:
v=l.strip().split(‘,‘)
users[v[0]]=v[1]
for i in range(3):
username = input(‘請輸入使用者名稱:‘)
password = input(‘請輸入密碼:‘)
cpassword = input(‘請確認密碼:‘)
if(username.strip()==‘‘ or password.strip()==‘‘ or cpassword.strip()==‘‘):
print(‘使用者名稱/密碼不可為空‘)
elif(username in users):
print(‘使用者名稱已存在‘)
elif(len(username)<6 or len(username)>20):
print(‘使用者名稱必須為6~20位‘)
elif (len(password) < 8 or len(password) > 15):
print(‘密碼必須為8~15位‘)
elif (cpassword != password):
print(‘兩次密碼不一致,請重新輸入密碼‘)
else:
print(‘恭喜{name}註冊成功‘.format(name=username))
f.write(username+‘,‘+password+‘\n‘)
break
else:
print(‘3次機會已用完‘)
f.close()
#登入
f=open(‘users.txt‘,‘a+‘)
f.seek(0)
users={}
for l in f:
v=l.strip().split(‘,‘)
users[v[0]]=v[1]
f.close()
for i in range(3):
username = input(‘請輸入使用者名稱:‘)
password = input(‘請輸入密碼:‘)
if(username.strip()==‘‘ or password.strip()==‘‘):
print(‘使用者名稱/密碼不可為空‘)
# elif(username in users and password==users.get(username)):
elif (username in users and password == users[username]):
print(username,‘登入成功‘)
break
else:
print(‘使用者名稱/密碼錯誤‘)
else:
print(‘3次機會已用完‘)
python註冊、登入