zoukankan      html  css  js  c++  java
  • Python登录,输入三次密码

    第一段python代码,写了一天,总算不报错了,值得纪念。

    基本要求:

    写一个登录界面,登录三次锁定用户

    1. 包含一个用户信息文件,用户名和密码

    2.黑名单文件

    过程:

    1.先检查是否在黑名单中,如果存在则不让登录

    2.如果不在黑名单中也不在用户列表,则提示找管理员开通

    3.如果在用户表中,则提示输入密码,如果超过三次输入密码,则把用户加入黑名单。

    代码实现流程图:

    # -*- coding:UTF-8 -*-
    #author:RXS002 2016-8-1
    
    white = open('whitelist.txt','r')
    black = open('blacklist.txt','r')
    passwd = open('pwdlist.txt','r')
    namelist = white.read()
    blacklist = black.read()
    pwdlist = passwd.read()
    
    namecount = 0
    pwdcount  = 0
    totalcount = 0
    
    #程序开始
    while True :
        username = input('请输入用户名:').strip()
    #   print(namelist)
    #   print(username)
    
        if username in blacklist:
            print('用户在黑名单中,请联系管理员!-----')
            print('程序因为黑名单正常结束!!!')
            break
        elif username in namelist:
            pwd = str(input('请输入用户密码:')).strip()
            if pwd in namelist:
                print('密码正确,欢迎登陆!')
                print('程序因为密码输入正确,正常结束!!!')
                break
            elif pwd not in namelist:
                for pwdcount in range(0, 3):
                    if pwd in namelist:
                        print('密码输入正确,请进入系统!!!')
                        break
                    else:
                        pwd = str(input('密码不正确,请重新输入密码:')).strip()
                        pwdcount += 1
                        print('您还有%d次输入密码的机会' % (3-int(pwdcount)))
    
                while pwdcount >= 3:
                    print('密码输入超过三次,账号被锁定,请联系管理员处理!')
                    black.close()
                    black1 = open('blacklist.txt','a')
                    black1.write(username)
                    black1.write('\n')
                    black1.close()
                    break
            break
        else:
            print('用户不存在,请联系管理员创建用户!!!')
            break
    
    white.close()
    black.close()
    passwd.close()
    View Code
  • 相关阅读:
    非模式窗体和模式窗体(转
    一次性帮你解决毕业论文的所有排版问题
    c# Wndproc的使用方法
    ref和out 转
    c# 基本语法(转)
    U盘装/虚拟光驱 装双系统
    U盘启动盘 装系统
    Hibernate查询条件封装对象Expression介绍 Hi
    asp.net实现 gridview 鼠标单击任意字段选中一行 ,并获取数据 Hi
    C#如何取出非公共成员 Hi
  • 原文地址:https://www.cnblogs.com/Ericshang/p/5729094.html
Copyright © 2011-2022 走看看