初學Python寫乙個簡單的登陸系統

2021-08-17 03:12:47 字數 2328 閱讀 6991

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

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

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

暫時想到了解決辦法是在乙個專用的檔案裡面增加乙個專用的計數變數,捨棄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

user=username

count=0;

for line in block_name:#檢查使用者名稱是否被鎖定,鎖定則返回主選單

if username==line.strip('\n'):

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()#程式入口

python寫乙個服務 Python寫乙個服務

coding utf 8 import json from urllib.parse import parse qs from wsgiref.server import make server 定義函式,引數是函式的兩個引數,都是python本身定義的,預設就行了。定義檔案請求的型別和當前請求成功...

python寫的乙個簡單的spider

1.html parser 繼承sgmlparser類,對html頁面中的正文 tag 和錨點 tag 的內容進行提取 2.spider 用urllib開啟html page,通過myparser提取頁面資訊 正文和錨點 通過關鍵字提取有用資訊 只有包含了關鍵字的資訊才會被保留下來,其他資訊都會被捨...

python寫乙個簡單爬蟲程式

python寫乙個簡單爬蟲程式 先看輸出結果 d 應用集合 python 1.py 名稱 詭秘之主 名稱 超神機械師 名稱 九星毒奶 名稱 第一序列 名稱 明天下 名稱 爛柯棋緣 名稱 虧成首富從遊戲開始 名稱 我師兄實在太穩健了 名稱 輪迴樂園 名稱 當醫生開了外掛程式 名稱 學霸的黑科技系統 名...