题目需求:

1.输入用户名密码

2.认证成功后显示欢迎信息

3.输错三次后锁定

#读取注册用户的信息,用户名,密码,输错次数,写入字典中

user={}

with open("DB1",encoding="utf8") as f:

for line in f:

username_list=line.strip().split("|") #username_list--->['egon', '123', '2']

user[username_list[0]]={"name":username_list[0],

"pwd":username_list[1],

"times":username_list[2]}

# print(user) #-->{'egon': {'name': 'egon', 'pwd': '123', 'times': '2'}, 'xuyaping': {'name': 'xuyaping', 'pwd': '123', 'times': '0'}, 'xyy': {'name': 'xyy', 'pwd': '123', 'times': '1'}}

#读取黑名单用户,将黑名单用户加入列表中

with open("black_lockname",encoding="utf8") as f1:

black_list=[]

for line in f1:

black_list.append(line.strip())

# print(black_list)

while True:

username = input("please input your username:").strip()

passwd = input("please input your passwd:").strip()

#用户在黑名单中

if username in black_list:

print("该用户为黑名单用户,请滚")

break

# 用户为注册用户

elif username in user:

user[username]["times"]=int(user[username]["times"])

if user[username]["times"]<3 and passwd==user[username]["pwd"]:

print("登录成功")

user[username]["times"]=0

#将修改后的信息重新写入DB1中

with open("DB1","w",encoding="utf8") as f3:

for i in user:

f3.write(i + "|" + user[i]["pwd"] + "|" + str(user[i]["times"]) + "\n")

break

else:

user[username]["times"]+=1

print("登录错误")

# 将修改后的信息重新写入DB1中

with open("DB1", "w", encoding="utf8") as f3:

for i in user:

f3.write(i + "|" + user[i]["pwd"] + "|" + str(user[i]["times"]) + "\n")

if user[username]["times"]==3:

black_list.append(username)

print("账户被锁定")

# 将修改后的信息重新写入black_lockname中

with open("black_lockname","w",encoding="utf8") as f4:

for j in black_list:

f4.write(j+ "\n")

break

#用户不是注册用户

else:

print("该用户没有注册")

break

xuyaping|123|0

egon|123|1xuyuanyuan|123|2

DB1

alex

black_lockname

python123电脑登录不了_python(14)- 简单练习:登录账户失败三次,账户自动锁定...相关推荐

  1. python做一个登录注册界面_Python 实现简单的登录注册界面

    Python 实现简单的登录注册界面 注意:编写代码之前需要导入很重要的包 import tkinter as tk import pickle from tkinter import message ...

  2. java qq登录成功界面_java实现简单QQ登录界面

    本文实例为大家分享了java实现简单QQ登录界面的具体代码,供大家参考,具体内容如下 java在图形界面,不是太强项,但不是不可以做,它的开源是very nice! 实现代码如下(想实现完美的界面,可 ...

  3. python 提交表单登录不成功_Python http requests模拟登录与提交表单的实现问题

    以前写小应用只写过简单的http请求,最近有一些需要复杂的实现,遇到一些问题,还希望得到大家指点. 我的疑问点在于如何实现模拟登录,cookie应该可以实现,但是每台pc的cookie不同,我想有一个 ...

  4. swing和MySQL登录注册_JavaSwing+Mysql实现简单的登录界面+用户是否存在验证

    原生Java+mysql登录验证 client login.java 功能:实现登录页面,与服务端传来的数据验证 package LoginRegister; import java.awt.Cont ...

  5. mysql jsp javabean servlet 注册登录_jsp+javabean+servlet实现简单的登录

    登录功能 注释:过程中的错误看5.6.7,(DBUtil类中,用户名密码填写自己的用户名和密码). 1.首先进行Mysql数据库的建立 在mysql数据库中建立test数据库,新建表user,表中两个 ...

  6. Kotlin实现简单的登录页面

    目录 一.流程: 二.代码实现: 一.流程: 输入登录昵称+密码,点击登录按钮,登录成功显示成功toast并进入详情页面,登录失败显示失败toast Kotlin实现简单的登录页面视频 Kotlin实 ...

  7. 用手机蓝牙锁定计算机,拿起手机就能自动锁定电脑 这个技巧能保护你的隐私...

    新酷产品第一时间免费试玩,还有众多优质达人分享独到生活经验,快来新浪众测,体验各领域最前沿.最有趣.最好玩的产品吧~!下载客户端还能获得专享福利哦! 本文来自爱范儿 现在,大家越来越强调隐私和电脑的安 ...

  8. PostgreSQL用户登录失败自动锁定的解决办法

    墨墨导读:PostgreSQL使用session_exec插件实现用户密码验证失败几次后自动锁定,本文介绍一种处理方案. 一.插件session_exec安装配置篇 下载插件并编译安装. https: ...

  9. python flask框架下登录注册界面_Python的Flask框架中实现简单的登录功能的教程

    Python 的 Flask 框架中实现简单的登录功能的教程 , 登录是各个 web 框架中的基础功能 , 需要的朋友可以参考下 回顾 在前面的系列章节中, 我们创建了一个数据库并且学着用用户和邮件来 ...

最新文章

  1. mysql5.6 thread pool_mysql5.6 thread pool
  2. R语言CRAN软件包Meta分析
  3. EF 查看生成的SQL语句
  4. python调用父类对象的几个方法
  5. ssm使用全注解实现增删改查案例——mybatis-config.xml
  6. swagger2如何测试单个文件或者多文件上传
  7. java 参数值_Java中的参数传值方式
  8. 灵活地横向扩展:从文件系统到分布式文件系统
  9. 设置Image控件加载图片完毕后的效果.
  10. POJ2653 Pick-up sticks
  11. 图像处理之超像素分割(SLIC)
  12. 操作系统-io设备基本概念和分类
  13. 【Ware】有了这些软件,马上告别360全家桶!
  14. 巧妙的通过二维码在手机和电脑传递小量数据
  15. postgresql数据库中多个Schemas互相访问
  16. 用 M1 MacBook 当主力开发机:程序员使用半个月后如是说
  17. Linux查看系统基本信息
  18. 2021级高级语言期末考复盘
  19. htc Vive中VR界面闪烁的解决
  20. 使用DirectPlay进行网络互联(4)

热门文章

  1. Android下的HttpClient的使用(9.11)
  2. Full-Mesh 帧中继
  3. Ubuntu 学习系列-安装Flash播放器
  4. CSS学习 -- 3种命名方式及规则
  5. css3绘制环形_利用CSS简单地绘制一个操场
  6. 大家沉迷短视频无法自拔?Python爬虫进阶,带你玩转短视频
  7. C语言栈的面试题,[面试题]EMC易安信-C语言函数堆栈的思考
  8. kafka php 安装配置,kafka安装及Kafka-PHP扩展的使用,kafkakafka-php扩展_PHP教程
  9. 机器视觉光源学习总结——平行背光源
  10. python manager ulimit_Linux ulimit命令