Python3模拟登录操作实例分析
本文实例讲述了Python3模拟登录操作。分享给大家供大家参考,具体如下:
模拟登录_要求:
1. 用户输入账号密码进行登录
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']
更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
相关文章
python使用urllib2模块获取gravatar头像实例
python使用urllib2模块获取gravatar头像的实例,大家参考使用吧2013-12-12PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
这篇文章主要介绍了PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-04-04windows下Python实现将pdf文件转化为png格式图片的方法
这篇文章主要介绍了windows下Python实现将pdf文件转化为png格式图片的方法,结合实例形式较为详细的分析了Python实现将pdf转换为png格式的相关模块、使用方法与相关注意事项,需要的朋友可以参考下2017-07-07Python中的split()、rsplit()、splitlines()的区别解析
Python提供了三种字符串分割的方法:split()、rsplit()和splitlines(),本文主要通过案例介绍这三种字符串分割函数的区别,感兴趣的朋友一起看看吧2023-12-12
最新评论