() == '': #假如输入空格或者回车
63 match_yes = 1 #满足条件后给变量赋予新值(注:变量赋值不输出任何信息)
64 else: #否则
65 print("\033[1;31mMarch Item: \033[1;36m%s" % line) #打印匹配信息
66 match_yes = 2 #满足条件后给变量赋予新值,与初始变量值不同,所以不打印当变量值为初始值的提示信息
67 if match_yes == 0: #变量值如果等于初始值(可以理解为输入不为空或者回车,且用户输入的查找内容不在信息表的任一行)
68 print("\033[1;31mNo match items had found!Please check it and try again.\n") #打印变量等于初始值需要输出的提示信息
69 if match_yes == 1: #对应之前赋值'match_yes = 1'
70 print("\033[1;31mThere was no character input, please check if the input was corrected!\n ") #打印赋值为1需要输出的提示信
71 if len(passwd.strip()) == 0: #如果输入密码为空
72 print('\033[1;33m密码不能为空,请重新输入,您还有%d次机会。'% (2-NumOfInput)) #打印错误提示信息
73 NumOfInput += 1 #输入次数增加1
74 else: #否则(密码不为空而且密码不正确)
75 print('\033[1;33m密码错误,请重新输入,您还有%d次机会。'% (2-NumOfInput)) #打印密码错误提示
76 NumOfInput += 1 #输入错误次数增加1
77 else: #否则(输入次数超过3)
78 print('\033[1;31m输入次数超限,请2小时后再试') #打印错误提示
79 time.sleep(7200) #调取time模块方法,2小时内无法操作
80
81 if __name__ == '__main__': #当模块被直接运行时,以下代码块将被运行,当模块是被导入时,则不运行
82 main() #执行main()函数
执行效果图:
1.输入空格或回车不计算次数,其他不同用户超过5次冻结5分钟无法操作
2.输入黑名单成员直接锁定退出
3.输入同一用户名错误累计3次加入黑名单
4.输入正确用户名,密码错误3次冻结2小时无法操作
5.登陆成功后查询员工信息表,输入空格和回车提示错误信息,输入查询内容,匹配打印相关信息