功能:1.匹配输入的用户名和密码是否与数据库一致(用一个文本文档代替数据库,一行代表一个用户和密码,中间空格隔开)
2.三次的输入限制,三次输错的账户将被锁定,且保存下来,下次输入时会提示已被锁定(重启后不会消除)
代码主体:
1 #!/usr/bin/env python3
2 #-*- coding: utf-8 -*-
3 #editor:skQuat
4
5 for i in range(3):6 name = input("请输入用户名:")7 with open('锁定账户.txt', 'r') as lock_name:8 for count inlock_name.readlines():9 if name incount:10 print("该账号已被锁定")11 i = 3
12 break
13 if i == 3:14 break15 password = str(input("请输入密码:"))16 with open('登陆数据存储.txt' , 'r') as count_sum:17 for count incount_sum.readlines():18 if name == count.split()[0] and password == count.split()[1]:19 print("欢迎回来")20 i = 3
21 break
22 if i == 3:23 break
24 print("账号或密码错误")25 if i == 2:26 print("输错3次,该账号已被锁定")27 with open("锁定账户.txt" , 'a') as lock_name:28 lock_name.write("\n" + name)
登录数据储存.txt
jack 123alice asd156
View Code
锁定账户.txt
smith
View Code
这一程序可以较好的达成目的,实现简单的登陆界面,但由于无法在网上找到有关input输入长度限制方法的有关资料,尚未实现输入限制,可以被爆破开来。
重要心得: windows下的路径通常是以\分隔但python要进行操作的话需将其改为/(与转义字符有关),如果是在同一文件夹中操作无需写详细地址。