python程序—用户登录
编写一个用户登录程序:
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('请输入正确选项!')
python程序—用户登录的更多相关文章
- Python入门-用户登录程序升级版
编写登陆接口 基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程 ...
- 小程序版好友对战实战-wss部署与小程序用户登录时序
上一篇文章是对需求的分析,本次将逐渐进入代码阶段.本次主要的内容包括服务端wss的部署以及小程序端用户授权的时序及逻辑. wss的配置与部署 微信小程序出于安全考虑,要求所有涉及到网络的操作,必须使用 ...
- python实现用户登录问候
创建一个至少包含 5个用户名的列表,且其中一个用户名为 'admin' .想象你要编写代码,在每位用户登录网站后都打印一条问候消息.遍历用户名列表,并向每位用户打印一条问候消息.添加一条 if 语句, ...
- python实现用户登录、注册实例
python面向函数式编程,模拟用户登录验证.注册的代码实现. 主要有以下两个文件: 1.user.txt文档文件,相当于数据库的用户信息表,主要是记录用户名和密码. 注意:1)此文档需要与.py文件 ...
- Python入门-用户登录程序
_flag = Falsecount = 0users = [['ziv', '123'], ['alex', '12345']]while count < 3: username = inpu ...
- python案例-用户登录
要求: •输入用户名密码 •认证成功后显示欢迎信息 •输错三次后锁定 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 "" ...
- 微信小程序 用户登录 服务器端(TP5.1)实现
先来看官方提供的流程图: 客户端: 小程序客户端通过 wx.login() 获取登录code , 然后将code当做参数传递到服务器. getToken(){ var that = this; wx. ...
- python实现用户登录界面
要求 输入用户名密码正确,提示登录成功, 输入三次密码错误,锁定账户. 实现原理: 创建两个文件accout,accout_lock accout记录用户名,密码 accout root 1qazxs ...
- 初学 python 之 用户登录实现过程
要求编写登录接口 : 1. 输入用户名和密码 2.认证成功后显示欢迎信息 3.用户名输错,提示用户不存在,重新输入(5次错误,提示尝试次数过多,退出程序) 4.用户名正确,密码错误,提示密码错误,重新 ...
随机推荐
- numpy(一)
np.zeros(10,dtype=int) #创建全为0的一位数组 np.ones((3,5),dtype=float) #创建3*5的二维全为1的数组 np.full((3,5),3.14) #创 ...
- Get Random number
, int pMaxVal = int.MaxValue) { int m = pMaxVal - pMinVal; int rnd = int.MinValue; decimal _base = ( ...
- 常见查找算法(Java代码实现)
一,顺序查找 查找算法中顺序查找算是最简单的了,无论是有序的还是无序的都可以,只需要一个个对比即可,但其实效率很低.我们来看下代码 public static int search(int[] a, ...
- bios下能看到硬盘,进入系统看不到的解决方法
新加了个固态硬盘 安装完系统后,打开我的电脑 看不到老硬盘的分区,进入磁盘管理也看不到. 最后,重启 选择老硬盘进入系统后, 再重启,进入新硬盘的系统, 就显示出来了
- python基础之 装饰器,内置函数
1.闭包回顾 在学习装饰器之前,可以先复习一下什么是闭包? 在嵌套函数内部的函数可以使用外部变量(非全局变量)叫做闭包! def wrapper(): money =10 def inner(num) ...
- Python基础之 函数名,闭包,和迭代器
1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么 ...
- [py]python操作zookeeper
参考: https://blog.csdn.net/heizistudio/article/details/79568188 1.安装zookeeper zookeeper-3.4.6.tar.gz ...
- vue深度监控数据改变,缓存数据到本地
项目效果图: var vm = new Vue({ el:'#app', data:{ students:[], }, watch:{ students:{ handler(){ localStora ...
- 测试12.2.0.1RAC PDB级别的Failover
关键步骤:手工添加服务名A并启动(已验证默认的服务名测试验证无法实现Failover) [oracle@db90 ~]$ srvctl add service -db orcl -service A ...
- MyEclipse破解步骤
1.下载安装(注:安装后不要打开myeclipse,以下步骤完成方可打开) 2.解压破解文件 3.打开文件夹patch 3.全部复制 4.找到myeclipse的安装目录,打开plugins文件夹 5 ...