• 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('
    ')
        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 + '
    ')
        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写入

  • 相关阅读:
    Plus One
    Move Zeroes
    Valid Number
    对于人生道路的些许感慨
    关于session.getValueNames()的一个问题
    jsp记录
    alter和modify的区别
    关于新手SQL Server 2008数据库的首次使用出现的问题
    今年大二,要开始java的学习了,听前辈说记录一下自己的学习过程会有一些好处
    MFC多文档无法显示可停靠窗格
  • 原文地址:https://www.cnblogs.com/little-turtle/p/6298006.html
Copyright © 2020-2023  润新知