python1、2实践,,一、实践需求  输入


一、实践需求

  输入用户名、密码

  认证成功的话显示欢迎信息

  如果输错三次的话锁定这个账号,再次登录这个账号的话就提示帐号已经被锁定,无法登录

  思路解析:如果将这个锁定的帐号存储在内存的话,重启机器之后信息就会被清除掉。重启之后在运行的话帐号就变成了可以再次登录的帐号了--将这个变量存储在硬盘当中,这样重启了还是会记住。

二、根据需求用Process On书写流程图

  技术分享

三、代码

# -*- coding:utf-8 -*-# 登录三次锁定用户# 用于计数(循环三次的判断)count = 0# 真实用户名和密码real_username = "tanghouzi"real_password = "1234577"user_list = []# 读取黑名单的内容f = open(‘black_user‘, ‘r‘)lock_file = f.readlines()for user in lock_file:    user = user.strip(‘\n‘)    user_list.append(user)f.close()print(user_list)username = input("请输入用户名:")# 判断输入的用户名是否在黑名单内,如果在则不允许继续输入密码for i in range(1):    if username in user_list:        print("对不起,您的用户名已锁定,暂时不允许使用!")        exit()    else:        continue# 尝试输入密码,并将输入次数进行计数for i in range(3):    password = input("请输入密码:")    if password == real_password:        print("登录成功!")        break    else:        print("登录失败...")    count += 1# 如果错误密码输入了三次,则提示用户名锁定,并将用户名放入黑名单中if count == 3:    print("对不起,您输入的密码错误次数已达3次,将锁定您的账户!")    f = open(‘black_user‘, ‘a‘)    f.write(‘%s‘ % username + ‘\n‘)    f.close()

四、备注

  1、需要在同个文件当中新建一个命名为:black_user的文件表示黑名单文件

  2、技术分享技术分享

  3、如果是‘w’格式打开机不需要新建文件,如果是‘r’打开就需要先建文件。

其实还可以加一个判断,如果这个文件存在,就用‘r’打开,如果不存在,就暂时不用操作,因为最后一步是用‘w‘打开,此时会创建文件。

  4、如果代码中的文件名称是black_user,则新建的文件也不能有后缀,需要命名成black_user即可。同理,如果新建的文件是black_user.txt的话,则代码中的文件也要写成black_user.txt

  5、报错科普

  技术分享

  原因:你的文件已经close了,但是你还在调用write写入

python1、2实践

评论关闭