Python 实现用户名和密码登录
功能
登录及注册,密码错误多次后验证码确认
说明
初次运行,程序将会自动生成一个名为user的文本文档,是包含用户名及密码的字典
输入用户名,如果用户名不存在,程序会自动以输入的用户名进行注册
输入密码,当输错4次时,程序会生成一个4位验证码,并使用vbs方式弹出,如果验证码输错,程序退出,否则重新执行主循环
代码
from os import system
from sys import exit
from random import randint
from time import sleep
user={
root:88888888}
error_time=4
mode=False
chack=[None,None]
user_name=
user_passwd=[None,None]
#读取用户
try:
f=open(user.txt,r)
user=eval(f.read())
f.close()
except:
f=open(user.txt,w)
f.write("{root:88888888}")
f.close
user={
root:88888888}
#main
while True:
user_name=str(input(请输入用户名>))
#判断用户是否存在
if user_name not in user:#用户不存在 -> 注册 -> 设置用户名
print(用户不存在,将执行注册操作。)
if in user_name:
print(aErr: 用户名中不能有空格)
elif user_name==:
print(aErr: 用户名不能为空)
else:
#设置密码
while True:
user_passwd[0]=str(input(请设置密码>))
if in str(user_passwd[0]):
print(aErr: 密码中不能含有空格。)
elif user_passwd[0]==:
print(aErr: 密码不能为空。)
elif len(user_passwd[0])<6:
print(aErr: 密码长度太短,至少6位。)
else:
#再次输入密码
user_passwd[1]=str(input(请再次输入密码>))
if user_passwd[0]!=user_passwd[1]:
print(aErr: 两次输入的密码不一致。)
else:
print(注册成功!
请重新登录:)
user[user_name]=user_passwd[0]
#写入文件
f=open(user.txt,w)
f.write(str(user))
f.close()
break
else: #用户存在 -> 登录 -> 确认密码是否正确
#错4次后验证码确认
while error_time!=0:
user_passwd[0]=input(请输入密码 4/+str(error_time)+>)
if user_passwd[0]!=user[user_name]:
print(aErr: 密码错误)
error_time=error_time-1
else:
mode=True
break
else:
#验证码确认
print(
aa因错误次数过多,进行验证码确认)
chack[0]=str(randint(999,10000)) #生成验证码
#写入到VBS文件,并弹出
f=open(chack.vbs,w)
f.write(msgbox("验证码>+str(chack[0])+<"))
f.close()
system(start chack.vbs)
#验证验证码
chack[1]=str(input(请输入验证码>))
if chack[0]!=chack[1]:
print(aErr: 验证码错误!)
#倒计时退出
for i in range(3,-1,-1):
print(*23+程序将在 +str(i+1)+ 秒后退出...,end=,flush=True)
sleep(1)
exit(0)
else:
error_time=4
if mode==True:
break
input(登录成功...)
下一篇:
Sublime:打造高效编程环境
