zoukankan      html  css  js  c++  java
  • 用户登录接口(BATE)

    #用户输入用户名密码,如果在锁定文件中,则告知用户名已被锁定。
    #如用户不在锁定文件中,匹配用户名和密码,如果验证成功打印欢迎介面
    #如果匹配不成功,让用户重新输入,用户有三次机会,超过3次退出程序
    #如果用户最后输入的用户名在系统用户文件中,则将其写入到锁定文件,反之则不写入锁定文件。
    
    # 文件account.txt内容如下:
    # Jacky   1234
    # sky     3356
    # Yvone   5566
    
    #account_lock.txt为空
    
    cmd = input('''
        1:登录系统
        2:即出系统
    请选择:
    ''')
    
    if cmd.isdigit() and int(cmd) == 2:
        exit()
    elif cmd.isdigit() and int(cmd) == 1:
        pass
    else:
        print('您输入有误!')
        exit()
    
    i = 0
    j = 0
    while i < 3:
        user_input = input('Please input your username:')
        passwd_input = input('Please input your password:')
        list_lock = open('account_lock.txt', 'r+')
        lock_user = list_lock.readlines()
        for line in lock_user:
            lines = line.strip('
    ')
            if lines == user_input:
                print('Username %s has been locked!' % user_input)
                exit()
        else:
            pass
    
        list_user = open('account.txt', 'r')
        user_info = list_user.readlines()
        for line in user_info:
            (username, password) = line.strip('
    ').split()
            if username == user_input and password ==  passwd_input:
                print('''33[1;32m
    *************************************************
    *                  WELCOME                      *
    *************************************************
                33[0m''')
                j = 3
                break
        if j < 2:
            j += 1
            print('33[1;31m
    Wrong username or password 33[0m')
            continue
        else:
            # 判断用户输入的用户名是否在系统的用户列表中,如果存在将用户名锁定,如果不存在则不加入锁定文件中。
            for i in user_info:
                if j != 3 and user_input in i.strip('
    ').split():
                    list_lock.write(user_input + '
    ')
            i = 3
    
    list_lock.close()
    list_user.close()
    
    
    
    print('contin')
    

      

  • 相关阅读:
    一口气说出9种分布式ID生成方式,面试官有点懵
    13个Mongodb GUI可视化管理工具,总有一款适合你
    基于mysql-8.0.16-winx64的主从搭建(Windows10系统)
    Windows10安装多个版本的PostgreSQL数据库,但是均没有自动注册Windows服务的解决方法
    Win10安装多个MySQL实例
    内核编译步骤及模块管理
    进程管理类命令
    进程监控类命令
    进程概念介绍
    文件打包压缩
  • 原文地址:https://www.cnblogs.com/jacky-zhao/p/8119101.html
Copyright © 2011-2022 走看看