日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python實現用戶注冊登錄程序_python

作者:%木糖醇---LHY% ? 更新時間: 2022-04-14 編程語言

本文實例為大家分享了Python實現用戶注冊登錄程序的具體代碼,供大家參考,具體內容如下

要求:

1.支持多個用戶登錄(把已有的用戶名和密碼存放在一個文件中,鎖定的用戶名存放在另一個文件中)

2.輸入正確的用戶名和密碼,則登錄成功;密碼錯誤,可以重新輸入密碼兩次;用戶名錯誤,可以重新注冊用戶名,也可以重新輸入用戶名和密碼。

3.用戶名輸入正確,密碼錯誤三次后,鎖定用戶名,退出;

4.輸入三次后,退出程序。

代碼如下:

user_pw=open('username_file','r+',encoding='utf_8') ?#打開存放用戶名和密碼的文件
lock_user=open('lock_file','r+',encoding='utf-8') #打開存放被鎖定用戶的文件
LU=[]#用來存放被鎖定用戶的用戶名
UP_user=[] #用來存放文件中已有的用戶名
UP_pw=[]#用來存放文件中已有用戶的密碼
in_user=[]#存放運行過程中用戶輸入的用戶名,用來判斷用戶輸入某一個用戶名的次數是否超過3次
count=0 #計算用戶的登錄次數
count1=0 #計算用戶輸入密碼的次數
#讀取文件中存放的用戶名和密碼,并存放到列表UP_user和UP_pw中
for line in user_pw.readlines():
? ? u,p=line.split()#把一行的字符串按空格分割成兩個字符串
? ? UP_user.append(u)
? ? UP_pw.append(p)
#讀取用戶名被鎖定的用戶,存放到列表LU中
for line in lock_user.readlines():
? ? l=line.strip()
? ? LU.append(l)
#用戶輸入用戶名、密碼少于三次
while count<3:
? ? user=input("請輸入用戶名")
? ? in_user.append(user)
? ? pw=input("請輸入密碼")
? ? if user in LU:#判斷輸入的用戶名是否在被鎖定用戶中
? ? ? ? print("用戶已鎖定")
? ? ? ? break
? ? if user in UP_user:#輸入的用戶名沒有被鎖定
? ? ? ? i=UP_user.index(user)#找到輸入的用戶名在列表中的索引值
? ? ? ? if pw==UP_pw[i]:#找到相同索引的密碼判斷和輸入的密碼是否一致
? ? ? ? ? ? print("登錄成功")
? ? ? ? ? ? break
? ? ? ? else:
? ? ? ? ? ? print("密碼錯誤")
? ? ? ? ? ? while count1<2:#用來判斷用戶輸入了幾次密碼(一共三次,最開始已經輸入了一次,所以還剩兩次)
? ? ? ? ? ? ? ? pw1=input("請重新輸入密碼")
? ? ? ? ? ? ? ? if pw1==UP_pw[i]:
? ? ? ? ? ? ? ? ? ? print("登錄成功")
? ? ? ? ? ? ? ? ? ? break
? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? print("密碼錯誤")
? ? ? ? ? ? ? ? count1+=1
? ? ? ? ? ? count=3
? ? ? ? ? ? break
? ? else:
? ? ? ? print("該用戶名未注冊,注冊請輸入'yes',按任意鍵重新輸入用戶名")
? ? ? ? a=input()
? ? ? ? #注冊
? ? ? ? if a=='yes':
? ? ? ? ? ? print(user)
? ? ? ? ? ? print(pw)
? ? ? ? ? ? user_pw.write(user+' '+pw+'\n')#把用戶名密碼存放到文件中
? ? ? ? ? ? UP_user.append(user)#把用戶名和密碼存放到數組中
? ? ? ? ? ? UP_pw.append(pw)
? ? ? ? ? ? print('注冊成功')
? ? count+=1
if count==3:
? ? print("您輸入的次數太多")
? ? for iu in in_user:
? ? ? ? if in_user.count(iu)>=3:
? ? ? ? ? ? lock_user.write(iu+'\n')#把輸入超過三次的用戶名鎖定到文件中
? ? ? ? ? ? print('用戶名'+iu+'已鎖定')
? ? ? ? ? ? break
lock_user.closed
user_pw.closed

測試結果:

(1)

(2)

(3)

(4)

原文鏈接:https://www.cnblogs.com/come-on-baby/p/9354836.html

欄目分類
最近更新