# -*- coding:utf-8 -*-
username =
["usr1"
,"usr2"
,"usr3"
]# 使用者列表
password =
["111"
,"222"
,"333"
]# 密碼列表
flag =[0
,0,0
]# 用於標記當前使用者狀態,初始值為0,鎖定為1
count =
0# 用於控制輸入次數
while
true
: user =
input
("使用者名稱:"
)if user in username:
addr = username.index(user)
if flag[addr]==0
: passwd =
input
("密碼:"
)if passwd == password[addr]
:print
("歡迎"
, username[0]
)break
else
:print
("使用者名稱或密碼錯誤!"
)if count ==2:
print
("三次錯誤,使用者將被鎖定!"
) flag[addr]=1
count +=
1else
:print
("使用者已被鎖定!"
)break
continue
else
:print
("使用者不存在!"
)continue
參考:
# _*_ coding:utf-8 _*_
import sys,os
import getpass
i =0
while i <3:
name =
input
('輸入使用者名稱:'
) lock_file =
open
('locked_usr'
,'r+'
)# 以讀寫模式開啟locked_usr,檢視使用者是否被鎖定
lock_list = lock_file.readlines(
)# 按行讀取後,存入列表
for lock_line in lock_list:
lock_line = lock_line.strip(
'\n'
)# 把每行的換行符處理掉
if name == lock_line:
sys.exit(
'使用者 %s 已經被鎖定,退出'
%(name)
) user_file =
open
('username'
,'r'
)# 唯讀模式開啟username,檢視是否存在該使用者
user_list = user_file.readlines(
)# 按行讀取後存入列表
for user_line in user_list:
(user, password)
= user_line.strip(
'\n'
).split(
)# 去除每行的'\n'後按空格分隔,對應項賦值
if name == user:
j =0while j <3:
passwd =
input
('請輸入密碼:'
)if passwd == password:
print
('使用者%s登陸成功'
% name)
sys.exit(0)
else
:if j!=2:
print
('使用者%s密碼錯誤,請重新輸入,還有%d次機會'
%(name,
3-j)
) j +=
1else
: lock_file.write(name +
'\n'
) sys.exit(
'使用者 %s 達到最大登陸次數,將被鎖定並退出'
% name)
else
:pass
else
:if i !=2:
print
('使用者名稱%s不存在,請重新輸入,還有%d次機會'
%(name,
3-i)
) i +=
1else
: sys.exit(
'使用者%s不存在,退出'
% name)
lock_file.close(
)user_file.close(
)
Python編寫登陸介面
編寫登陸介面 輸入使用者名稱密碼 認證成功後顯示歡迎資訊 輸出三次後鎖定 author baihaoxiang import json 編寫登陸介面 輸入使用者名稱密碼 認證成功後顯示歡迎資訊 輸出三次後鎖定 思路1 使用者名稱和密碼用字典1存datauser 建立乙個使用者名稱和可用的字典2,da...
python入門練習 編寫登陸介面
輸入使用者密碼 認證成功後顯示,歡迎資訊 輸錯三次後鎖定 1.建立使用者資訊文字。2.建立限制名單的檔案。3.限制名單檢測,若符合則不允許登陸。4.使用者名稱密碼判定,若正確則問候並結束。5.若不通過則繼續迴圈,輸入3次則加入限制名單。e python 檔案 入門 locked.txt 呼叫鎖定名單...
編寫登陸介面
需求 知識點1.注意 pycharm 不支援getpass模組 在terminal中 執行 其實際意思就是cmd import getpass password getpass.getpass 請輸入密碼 知識點2.python with open as用法 python基礎 檔案讀寫 with o...