1. 需求分析:
  • 实现用户名和密码登录验证
    • 判断用户名和密码是否正确。正确则打印欢迎信息,错误则输出具体错误原因信息
    • 用户可以连续输入三次密码,超过三次则锁定用户。
    • 密码位数必须超过六位。
  1. 代码实现:

#!/usr/bin/python
#-*- coding:utf-8 -*-
#Author:taoyake
#date:2018-5-29

#导入隐藏不显示密码的模块
import getpass

username = 'taokey'    #正确的登录用户名
password = '1234567'    #正确的登录密码,密码大于6位
count = 0               #计数器,默认为0

#通过user变量,获取到输入的用户名
user = raw_input("请输入您的用户名: ")

#如果countde值小于3,循环就会一直执行
while count < 3:
    if user != username:  #如果输入的用户不等于预先定义的用户名,则打印用户不存在并且退出循环
        print "对不起,你输入的%s用户不存在" % user
        break
    else:
        pwd = getpass.getpass("请输入您的密码: ")  #输入密码
        if len(pwd) <= 6:       #如果输入的密码连续三次小于六位数,则提示账号锁定并退出
            count = count + 1
            time = 3 - count
            if time == 0:
                print "密码输错三次,用户已经被锁定,请联系客服"
            else:
                print "您输入的密码太短,请输入超过六位的数字,您还有%d次机会" % time
                continue
        elif pwd != password:  #如果密码连续输错三次,提示账号锁定并退出
            count = count + 1
            time = 3 - count
            if time == 0:
                print "密码输错三次,用户已经被锁定,请联系客服"
            else:
                print "您输入的密码不正确,您还有%d次重试机会" % time
                continue
        else: #如果上边的都不成立,说明输入密码正确,提示登录成功
            print "恭喜您%s成功登录" % user
            break