Python實現註冊 登入小程式功能

2022-10-04 18:57:12 字數 3529 閱讀 6354

主要實現功能

1、使用者輸入使用者名稱,在使用者名稱檔案中查詢對應的使用者,若無對應使用者名稱則列印輸入錯誤

2、使用者名稱輸入正確後,進行密碼匹配。輸入密碼正確則登入成功,否則重新輸入。

3、連續輸錯三次密碼則該使用者名稱被鎖,退出程式

在程式資料夾下建立乙個使用者名稱、密碼的檔案 :user_np.txt和乙個用於存放被鎖使用者名稱的檔案:lock.txt

#setenc程式設計客棧oding=utf-8

import os,sys

#將使用者名稱檔案內容讀取到記憶體中

user = open('user_np.txt')

account_list = user.readlines()

user.closeloginsucess = 0 #控制while迴圈退出

lock_n = false    #判斷使用者輸入的使用者名稱是否被鎖的標誌位

while true:

username = input('please input username:').strip() #strip()函式是忽略空格

if len(username) == 0:

print('輸入使用者名稱不能為空')

continue

else :

print('輸入使用者名稱不為空')

l = open('lock.txt')

l_list = l.readlines()

l.close()

print(l_list)

for j in l_list:

j = j.strip('\n')

if username == j:

print('該使用者已經鎖定,請輸入其他使用者名稱')

lock_n = true

del j #刪除變數j

break

else:

continue

if lock_n is true:

lock_n = false

continue

else:

lock_n = false

for i in account_list:

i = i.split() #split()函式是對括號中的符號進行切割

if username == i[0]:

for x in range(3):

password = input('please input password:').strip()

if password == i[1]:

loginsucess = 2

break

else:

print('the password is error')

#匹配正確或者遇到break程式就跳出迴圈體下面語句不執行

else: #輸入超過三次,將使用者名稱寫入鎖檔案並列印出來

print('%s ,input password is beyond three times,going to lock'%username)

l = open('lock.txt','a')

l.write(username+'\n') #將要鎖的使用者名稱寫入鎖檔案並且換行

l.close()

view = open('lock.txt') #開啟鎖檔案

print(view.read()) www.cppcns.com #列印鎖檔案的內容,方便自己做除錯

loginsucess = 1

if loginsucess ==2:

print('sucess info')

break

elif loginsucess ==1:

print('使用者名稱被鎖,請重新輸入')

else:

print('輸入錯誤')

下面通過**看下python實現註冊登入小程式

用python 實現模擬註冊和登入的程式:使用者資訊最終以字典的格式儲存在乙個txt檔案裡,具體實現如下:

users.txt裡使用者字典格式如下:

,'name2': ,

'name3':

} # 註冊

f = open('users.txt', 'a+', encoding='utf-8')

f.seek(0)

user_info = eval(f.read())# 字串轉字典

i =0

while i<3:

i += 1

uname = input("請輸入使用者名稱:").strip()

upass = input("請輸入密碼:").strip()

passc = input("請確認密碼:").strip()

if not uname or not upass or程式設計客棧 not passc:

print("註冊失敗,使用者名稱或密碼不能為空")

continue

if upass != p程式設計客棧assc:

print("註冊失敗,兩次輸入密碼不一致")

continue

if uname in user_info:

print("註冊失敗,使用者名稱已存在")

continue

print("恭喜你,註冊成功!")

user_info[uname] =

f.seek(0)

f.truncate()

f.write(str(user_info))

else:

print("sorry,register over 3 times bye-bye!")

f.close()

# 登入

fr = open('users.txt', 'r')

fr.seek(0)

user_info = eval(fr.read())

j = 0

while j<3:

j +=1

uname = input("請輸入使用者名稱:\n").strip()

upass = input("請輸入密碼:\n").strip()

if not uname:

print("使用者名稱不能為空")

continue

if not upass:

print("密碼不能為空")

continue

if uname not in user_info:

print("使用者名稱不存在")

continue

if upass != user_info[uname]['password']:

print("密碼錯誤")

continue

print("恭喜你,登入成功!")

else:

print("sorry! login over 3 times bye-bye! ")

f.close()

執行結果:

總結本文標題: python實現註冊、登入小程式功能

本文位址: /jiaoben/python/240153.html

python實現註冊登入小程式

用python 實現模擬註冊和登入的程式 使用者資訊最終以字典的格式儲存在乙個txt檔案裡,具體實現如下 users.txt裡使用者字典格式如下 1,3 name2 4 name3 5 1 註冊 2 f open users.txt a encoding utf 8 3f.seek 0 4 user...

Python 註冊登入小程式

註冊 1.檢測兩次密碼如果相同,確認註冊成功 2.檢測兩次密碼如果不同,提示兩次密碼不一致 3.使用者名稱不能重複 accountlst存放所有賬號 accountlst sign true while sign 輸入使用者名稱 username input 請輸入要註冊的使用者名稱 if user...

python模擬註冊登入 python實現模擬登入

python實現模擬登入 2012 08 02 10 20 42 我來說兩句 當你要模擬登入乙個 時,首先要搞清楚 的登入處理細節 發了什麼樣的資料,給誰發等.我是通過httpfox來抓取http資料報來分析該 的登入流程。同時,我們還要分析抓到的post包的資料結構和header,要根據提交的資料...