国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現簡單登陸系統

2020-02-15 23:15:49
字體:
來源:轉載
供稿:網友

新手,雖然比較簡單的東西,但是弄了我很久。

很多不完善的地方,比如鎖定用戶,同一用戶輸入錯三次密碼就會鎖定,但是如果在第二第三次換了用戶再輸入原來的用戶,則計數會重新計算。

另外不存在的用戶輸入密碼錯誤次數過多也會被鎖定,然后還能創建一個被鎖定的用戶,這個就不搞了,只要檢測一下是否存在用戶名就可以了。

暫時想到了解決辦法是在一個專用的文件里面增加一個專用的計數變量,舍棄blocklist這個文件,但是不懂怎么操作,先留著。

雖然python沒有像C一樣的main函數作為程序入口,姑且弄了一個,方便看懂

'''登陸系統要求:1、可以選擇創建新的用戶2、可以登陸原有的用戶3、輸入密碼錯誤三次后用戶則被鎖定''' flag=True #循環控制符 def createuser():  f=open('userlist.txt','r')#打開已存在用戶的文件,假設文件已經存在  flag=True  name=f.readlines()  f.close()  while flag:    username=input('username:')    flag2=False#用戶名已存在的標記符    for line in name:      if(username==line.split('*')[0]):        flag2=True        print("用戶名已存在,請重新輸入")    if flag2!=True:      f=open('userlist.txt','a')#創建新的用戶      f.write('/n'+username)      f.write('*')      password=input('password:')      f.write(password)      f.close()      break  main()  def login():#登入函數,輸入密碼錯誤三次則鎖定用戶  count=0#密碼錯誤計數,3次則鎖定  f=open('userlist.txt','r')  info=f.readlines()  f.close()  user=None#重復用戶標記符  while flag:    flag2=False    f2=open('blocklist.txt', 'r')    block_name=f2.readlines()    f2.close()    username=input('username:')    if user==None:#user沒有使用過,則直接賦予輸入的用戶名      user=username    elif user!=username:#如果下一次輸入的用戶名不一樣,則記錄上一次的用戶名,同時計數清零      user=username      count=0;    for line in block_name:#檢查用戶名是否被鎖定,鎖定則返回主菜單      if username==line.strip('/n'):        print('該用戶已經被鎖定,請聯系管理員')        main()    password=input('password:')    for line in info:      if(username==line.split('*')[0]and password==line.split('*')[1].strip('/n')):        print('登入成功!')        flag2=True    if flag2==False:      count+=1      print("用戶名或密碼錯誤,請重新輸入")    if count==3:#錯誤三次,把用戶名添加到鎖定列表中      print('密碼錯誤次數過多,該用戶已被鎖定')      f3=open('blocklist.txt','a')      f3.write('/n'+username)      f3.close()      count=0#加入黑名單后重置計數      main()#加入黑名單后退回主菜單info='''------請輸入相關數字-----1.創建新的用戶2.登陸已有用戶3.退出程序''' def main():  print(info)  while flag:    i=input()    if i=='1':      createuser()      break    elif i=='2':      login()      break    elif i=='3':      exit()    else:      print("請輸入正確的數字.") main()#程序入口            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新营市| 伊金霍洛旗| 电白县| 锡林郭勒盟| 常州市| 神木县| 佛坪县| 宁阳县| 定远县| 民县| 大关县| 武义县| 阿拉善左旗| 高唐县| 闽侯县| 洮南市| 行唐县| 嘉黎县| 新巴尔虎右旗| 红安县| 湛江市| 苏尼特左旗| 延边| 永定县| 日土县| 随州市| 丰都县| 永吉县| 六盘水市| 城口县| 三门峡市| 西吉县| 苏尼特右旗| 醴陵市| 汶上县| 垣曲县| 德惠市| 瑞金市| 含山县| 鲁甸县| 儋州市|