python程序—用户登录

时间:2024-06-23 12:05:14

编写一个用户登录程序:

1.登录成功显示登录页面

2.登录失败,显示密码错误,并且显示错误几次

3.登录失败三次,退出程序

username= 'root'
passwd= ''
count=
print('请登录 >>>>>>>>>')
while True:
user=input('登录名:')
pwd=input('密码:')
if user == username and pwd == passwd:
print('登录成功!欢迎登录!')
break
else:
count +=
print('密码错误!登录失败!',count)
if count ==:
break

升级:

支持多用户登录

userinfo={
'root': {'username': 'root',
'passwd': ''},
'lee' : {'username': 'lee',
'passwd': ''},
'zhang':{'username': 'zhang',
'passwd': ''}
} count=
print('请登录 >>>>>>>>>')
while True:
user=input('登录名:').strip()
pwd=input('密码:').strip()
if user == userinfo[user]['username'] and pwd == userinfo[user]['passwd']:
print('登录成功!欢迎登录!')
break
else:
count +=
print('密码错误!登录失败!')
if count ==:
break

再次升级:

1.支持创建用户,并将用户信息写入文件

2.同一用户因密码错误而登录失败三次后,提示用户锁定

import re  # 导入re模块,进行正则匹配

userinfo1 = {}
g = open('C:\\Users\\lenovo\\Desktop\\b.txt', 'r', encoding='utf-8')
for i in g:
user = re.compile('(.*?) (.*?) ').search(i).group()
pwd = re.compile('(.*?) (.*?) ').search(i).group()
count = re.compile('(.*?) (.*?) (.*)').search(i).group()
userinfo1[user] = {'username': user,
'passwd': pwd,
'count': int(count)}
g.close() while True:
print('=======================================')
print(' 1.创建用户 2.登录用户 3.退出 ')
print('=======================================')
choose=input('请输入选项:') if choose == '':
userinfo = {}
with open('C:\\Users\\lenovo\\Desktop\\b.txt', 'w', encoding='utf-8') as f:
print('请创建 >>>>>>>>>')
userinfo1 = {}
for i in open('C:\\Users\\lenovo\\Desktop\\b.txt', 'r', encoding='utf-8'):
user = re.compile('(.*?) (.*?) ').search(i).group()
pwd = re.compile('(.*?) (.*?) ').search(i).group()
userinfo1[user] = {'username': user,
'passwd': pwd,
'count': }
user = input('请输入用户名:').strip()
if user in userinfo1.keys():
print('用户名已经存在!')
else:
pwd = input('请输入密码:').strip()
userinfo[user] = {'username': user,
'passwd': pwd,
'count': } for i in userinfo.values():
j=
for j in i.values():
f.write('%s ' % str(j))
f.write('\n') elif choose == '':
print('请登录 >>>>>>>>>') with open('C:\\Users\\lenovo\\Desktop\\a.txt','r',encoding='utf-8') as f:
user = input('登录名:').strip()
if user not in userinfo1:
print('用户不存在!')
continue
if user in f.read():
print(f.read())
print('用户已锁定!请联系管理员!')
continue
if user == userinfo1[user]['username']:
pwd = input('密码:').strip()
if pwd == userinfo1[user]['passwd']:
print('登录成功!欢迎登录!')
continue
else:
userinfo1[user]['count']+=
print('密码错误!登录失败!')
if userinfo1[user]['count']==:
with open('C:\\Users\\lenovo\\Desktop\\a.txt','a',encoding='utf-8') as f:
f.write('%s \n' % user) elif choose == '':
break else:
print('请输入正确选项!')