python做一个登陆界面_Day1:Python编写用户登陆界面

在做Alex老师第十四期培训班的课后作业,涉入不深,代码比较笨拙,请各位多多指教!

filename = "UsernameAndPassword.txt" #存放用户名及密码的伪数据库

user_dict = {}

try: #从数据库中读取用户名密码,存放在缓存字典中

with open(filename,"r") as dict_file:

for line in dict_file:

(username,password) = line.split(":") #用户名和密码的存放格式: alex:abc123

user_dict[username] = password

except IOError as ioerror:

print("{file}not exit".format(file = filename))

namelist = []

try: #从数据库中读取已经被锁定的用户名单,存放在列表中

with open("list.txt","r") as list_file:

for eachname in list_file:

namelist.append(eachname.strip("\n"))

except IOError as ioerror:

print("list.txt not exit")

while True:

count = 0

name = input("Please input username:") #输入用户名

if name in namelist: #判断用户名是否被锁定

print("{0} has been locked!".format(name)) #如果用户名被锁定,跳的锁定界面

user_confirm = input("Do you want try again other username?(Y/N):")#询问用户是否想继续进行尝试

if user_confirm.lower() == "y":

continue

else:

break

if name in user_dict.keys(): #判断用户忙是否存在数据库中

while count < 3:

_password = input("Please input password:")

if _password == user_dict[name]: #用户名密码正确跳转到登陆成功界面

print("Login success!")

break

else:

count += 1

namelist.append(name) #三次密码错误后,锁定用户名

with open("list.txt","a") as add_list:

add_list.write("\n" + name) #并将锁定的用户名追加到伪数据库中

else:

print("username not exit!")

1472582-20180823235759262-876134648.png

存有用户名密码的文本文件和被锁定用户的文件与程序在同一文件夹下。

1472582-20180823235955095-1566141335.png

在网数据库中追加锁定用户名时用的 f.open(filename,"a") "a"表示追加,可以保证原数据库中的记录不被替换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值