Python登录小程序
-------------------------------------------------
主要实现功能
1、用户输入用户名,在用户名文件中查找对应的用户,若无对应用户名则打印输入错误
2、用户名输入正确后,进行密码匹配。输入密码正确则登录成功,否则重新输入。
3、连续输错三次密码则该用户名被锁,退出程序
--------------------------------------------------
在程序文件夹下建立一个用户名、密码的文件 :user_np.txt和一个用于存放被锁用户名的文件:lock.txt
--------------------------------------------------
#setencoding=utf-8
import os,sys
#将用户名文件内容读取到内存中
user = open('user_np.txt')
account_list = user.readlines()
user.closeloginSucess = 0 #控制while循环退出
lock_n = False #判断用户输入的用户名是否被锁的标志位
while True:
username = input('please input username:').strip() #strip()函数是忽略空格
if len(username) == 0:
print('输入用户名不能为空')
continue
else :
print('输入用户名不为空')
l = open('lock.txt')
l_list = l.readlines()
l.close()
print(l_list)
for j in l_list:
j = j.strip('\n')
if username == j:
print('该用户已经锁定,请输入其他用户名')
lock_n = True
del j #删除变量j
break
else:
continue
if lock_n is True:
lock_n = False
continue
else:
lock_n = False
for i in account_list:
i = i.split() #split()函数是对括号中的符号进行切割
if username == i[0]:
for x in range(3):
password = input('please input password:').strip()
if password == i[1]:
loginSucess = 2
break
else:
print('The password is error')
#匹配正确或者遇到break程序就跳出循环体下面语句不执行
else: #输入超过三次,将用户名写入锁文件并打印出来
print('%s ,input password is beyond three times,going to lock'%username)
l = open('lock.txt','a')
l.write(username+'\n') #将要锁的用户名写入锁文件并且换行
l.close()
view = open('lock.txt') #打开锁文件
print(view.read()) #打印锁文件的内容,方便自己做调试
loginSucess = 1
if loginSucess ==2:
print('sucess info')
break
elif loginSucess ==1:
print('用户名被锁,请重新输入')
else:
print('输入错误')
Python登录小程序的更多相关文章
- python 登录小程序
运行程序前,需在本目录增加黑名单文件 # Author:JinYu # -*- coding:utf-8 -*- #登录3次锁定 local_username = 'jinyu' local_pass ...
- 一个python爬虫小程序
起因 深夜忽然想下载一点电子书来扩充一下kindle,就想起来python学得太浅,什么“装饰器”啊.“多线程”啊都没有学到. 想到廖雪峰大神的python教程很经典.很著名.就想找找有木有pdf版的 ...
- python 购物车小程序
python 购物车小程序 功能要求:1.启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4. ...
- python登录验证程序
自己写的一个python登录验证程序: 基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失 ...
- appium+python 微信小程序的自动化
sudo kill -9 $(lsof -i:8889 -t) mitmweb -p 8889 -s addons.py mitmdump -q -p 8889 -s addons.py http: ...
- Python基本小程序
目录 Python基本小程序 一.筛选从1-100所有的奇数 二.筛选从0-100所有的偶数 三.求1-100之间所有的偶数和,奇数和 四.三个数由小到大输出 五.四个数字重复数字的三位数 Pytho ...
- python实现注册登录小程序
用python 实现模拟注册和登录的程序:用户信息最终以字典的格式储存在一个txt文件里,具体实现如下: users.txt里用户字典格式如下: { '}, '}, '} } # 注册 f = ope ...
- 【python】——小程序之电话薄
初学python,写一个小程序练习一下.主要功能就是增删改查的一些功能.主要用到的技术:字典的使用,pickle的使用,io文件操作.代码如下: import pickle #studentinfo ...
- ADO.NET学习系列(四)---窗体版的登录小程序
1.需求分析:做一个登录的小程序,基于Winform的窗体小程序.基本要求:登录成功:弹框显示登录成功,登录失败就弹框显示失败. 扩展功能:登录次数超过3次,就”锁定“用户,提示登录错误次数过多,不能 ...
随机推荐
- java操作文件常用的 IO流对象
1.描述:流是字节数据或字符数据序列.Java采用输入流对象和输出流对象来支持程序对数据的输入和输出.输入流对象提供了数据从源点流向程序的管道,程序可以从输入流对象读取数据:输出流对象提供了数据从程序 ...
- 消息中间件JMS(三)
1. Spring整合JMS 1.1消息生产者 创建工程springJMS_producer,并在pom文件中引入SpringJms .activeMQ以及单元测试相关依赖 <propertie ...
- java中String、包装类、枚举类的引用传递
一般情况下,我们认为Java中了除了八种基本数据类型,其他都是对象,进行引用传递: 但是:String.包装类.枚举类作为参数传递后发现,没有达到引用传递的效果,很多人认为它是值传递! 首先,对象肯定 ...
- java和c通信相关的数据类型转换
利用socket进行网络传输的时候往往需要将int转换为bytes,将string转换为bytes以及一些其他类型的数据转换 java和c类型的区别: 变量类型 C中字节数 Java中字节数 int ...
- Data Guard 知识 (来自网络)
更改DG工作模式前提参数得设定合理. Physical standby直接从主库接受archived log,然后直接做基于block的物理恢复(更新或调整变化的block),所以physical s ...
- Xadmin使用二
1:修改site-title和site-footer,增加菜单折叠效果 在adminx.py中增加下面代码: class GlobalSetting(object): # 设置Title site_t ...
- poj 3694 Network : o(n) tarjan + O(n) lca + O(m) 维护 总复杂度 O(m*q)
/** problem: http://poj.org/problem?id=3694 问每加一条边后剩下多少桥 因为是无向图,所以使用tarjan缩点后会成一棵树并维护pre数组 在树上连一条边(a ...
- yarn的学习之2-容量调度器和预订系统
本文翻译自 http://hadoop.apache.org/docs/r2.8.0/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html 和http ...
- Percona-Tookit工具包之pt-table-sync
Preface We've used pt-table-checksum to checksum the different table data bwtween replicatio ...
- java的动态验证码单线设计
1.java的动态验证码我这里将介绍两种方法: 一:根据java本身提供的一种验证码的写法,这种呢只限于大家了解就可以了,因为java自带的模式编写的在实际开发中是没有意义的,所以只供学习一下就可以了 ...