Python3_模拟登录
来源:互联网 发布:淘宝pr剪切教程 编辑:程序博客网 时间:2024/05/16 19:42
模拟登录_要求:
2. 用户信息保存在文件内
3. 用户密码输入错误三次后锁定用户
逻辑图:
代码:
#!/usr/bin/env python3# Author:Robert# --*-- coding: utf-8 --*--count = 0 #记录试错次数,计数项赋初始值load = True #完成功能后退出,赋初始值file = open("用户信息文件.txt",'r',encoding='utf-8')file_lock = open("锁定用户信息文件.txt",'r+',encoding='utf-8')line = eval(file.readline()) #将正确信息中的字符串转换成字典(原字符串为字典格式)line_list = eval(file_lock.readline()) #将正确信息中的字符串转换成列表(原字符串为列表格式)def out(): #定义重复代码,目的是帮助跳出while循环并关闭已打开的文档 global load load = False #赋值load,为了跳出while循环 file_lock.close() #关闭正确用户信息文档 file.close() #关闭锁定用户信息文档while load: #判断是否已完成功能 name = input("请输入用户名:") password = input("请输入密码:") if name in line and name not in line_list: #判断用户名是否正确,是否已被锁定 while count < 3: if password == line[name]: #判断用户名是否对应正确的密码 print("您已成功登录") out() #调用定义out方法 break else: #说明未输入的正确的密码 count +=1 msg_count = '第%s次密码输入错误\n'%(count) #提示输入错误次数 print(msg_count) if count < 3: #小于三次错误的输入,可以重新输入 password = input("密码错误,请重新输入密码:") #重新输入密码 elif count == 3: #判断是否已输错三次 print("已输错3次,账号已锁定") line_list.append(name) #将已锁定信息加入锁定元组中 file_lock.seek(0) #输入指针移到开头,如果不移动会产生多个元组 file_lock.write(str(line_list)) #写入锁定信息 file_lock.tell() #获取当前的输入指针位置,如果不获取会产生多个元组 out() break elif name in line_list: #判断用户名是否在已锁定用户名中 print("该用户名已被锁定") out() break else: #说明用户名不在正确用户名信息中 print("该用户名不存在") out()
用户信息文件.txt
{"name":"password","XiaoMing":"123456","Robert":"234567","Alex":"345678","haha":"123","hahage":"123","hahage2":"123","hahage3":"123"}
锁定用户信息文件.txt
['name']
阅读全文
0 0
- Python3_模拟登录
- python3_字符串
- python3_列表
- python3_字典
- 模拟登录
- 模拟登录
- 模拟登录
- 模拟登录
- 模拟登录
- 模拟登录
- 模拟登录
- 模拟登录
- python3_元组
- Python3_三级菜单
- Python3_购物车
- Python3_工资管理系统
- Java模拟网站登录
- 模拟用户登录
- jdk1.8新的功能特性
- 【Android】RxJava的使用(二)Action
- HDU 4803 Poor Warehouse Keeper(贪心+注意精度) 13区域赛
- 深入分析Java Web技术内幕(三)
- 算法总结JS版(四)—— 希尔排序(Shell Sort)
- Python3_模拟登录
- XML文件怎么添加注释
- DB2“静默”状态与解除
- Yang不等式与Hölder不等式
- 【Android】RxJava的使用(三)转换——map、flatMap
- ubuntu16.04 +NVIDIA驱动+cuda8.0+cudnn+andaconda+tensorflow(GPU版)+Spyder+pycharm全套配置
- linux上安装软件
- ArrayList<Integer> arr=new ArrayList<Integer>
- 三角形面积之海伦公式