Python实现三次密码验证
需求:Python实现三次密码验证,每次验证结果需要提示,三次验证不通过需要单独提示
代码如下:
user = '张无忌'
password = '12345678'
confirm_flag = False
for i in range(0, 3):
user_input = input('user:')
password_input = input('password:')
if user_input == user and password_input == password:
print('Welcome! %s' % user)
confirm_flag = True # 验证成功后更改confirm_flag,则不打印验证失败提示
break
else:
print('Invalid user or password!')
if not confirm_flag:
print('Input the invalid password more than three times')
验证成功结果如下:

三次验证失败结果如下:

上面代码使用for-break循环、if/else的条件判断来实现需求
三次验证失败输出提示部分代码还可以优化,下面使用for-else循环优化,代码如下:
user = '张无忌'
password = '12345678'
for i in range(0, 3):
user_input = input('user:')
password_input = input('password:')
if user_input == user and password_input == password:
print('Welcome! %s' % user)
break
else:
print('Invalid user or password!')
else:
print('Input the invalid password more than three times')
验证成功结果如下:

三次验证失败结果如下:

for/while循环之后的else语句,只有在循环正常结束后才会执行,如果中间使用了break语句跳出循环,则不会执行
上面的代码中,验证成功时,通过break语句跳出了循环,所以不会打印else之后的验证失败语句,而三次验证未通过时,循环正常结束,则会执行else之后的提示语句
while-else循环实现代码如下:
user = '张无忌'
password = '12345678'
counter = 0
while counter < 3:
user_input = input('user:')
password_input = input('password:')
if user_input == user and password_input == password:
print('Welcome! %s' % user)
break
else:
print('Invalid user or password!')
counter += 1
else:
print('Input the invalid password more than three times')
Python实现三次密码验证的更多相关文章
- [oracle] oracle的三种密码验证机制以及在windows和linux下的不同启动过程
oracle数据库的密码验证机制: ① 操作系统验证 拥有SYSDBA和SYSOPER的用户用该方式验证此时数据库无需启动,也无需开启监听和实例服务. 要求:本地组ora_dba中有该操作系统的登录用 ...
- Python实现LDAP用户名密码验证
网上借鉴了不少东西,下面是python代码,备份后用. 思路,因为每个用户的组都不一样,这样就导致了dn不一致的情况, 据需要先根据用户名获取该用户的dn,然后再bind用户名和密码进行验证. 反正是 ...
- Python基础-三次用户验证登录购买商品程序
需求: 一:三次登录锁定 1.用户信息存放于文件中 2.尝试三次都失败,锁定用户 二.购物车功能要求: 要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品 ...
- SpringBoot注册登录(三):注册--验证账号密码是否符合格式及后台完成注册功能
SpringBoot注册登录(一):User表的设计点击打开链接SpringBoot注册登录(二):注册---验证码kaptcha的实现点击打开链接 SpringBoot注册登录(三):注册 ...
- Python(三) PIL, Image生成验证图片
Python(三) PIL, Image生成验证图片 安装好PIL,开始使用. 在PyCharm中新建一个文件:PIL_Test1.py 1 # PIL 应用练习 2 # 3 # import PIL ...
- Python之简单的用户名密码验证
题目要求: 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 #要求使用文件存储用户名和密码,每次从文件读入用户名和密码用来验证,如果输错三次密码该账户会被锁定,并讲锁定的用户名写入文件 # ...
- python学习-实现用户密码登录,输错三次锁定
作业需求: 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 实现思路: 判断用户是否在黑名单,若在黑名单,则将用户锁定 判断用户是否存在,若不存在,提示用户不存在 若用户存在,判断登录密码是否 ...
- PYTHON第三天
PYTHON之路 七.基本的if判断 最简单的流程处理: if ...else If简单练习: #!/usr/bin/env python # -*-coding:utf-8 -*- #if 基本表 ...
- java密码验证正则表达式校验
,正则表达式就是记录文本规则的代码.php密码验证正则表达式(8位长度限制)<?php //密码验证 $password = "zongzi_Abc_oo13a2"; $n ...
随机推荐
- WEB安全新玩法 [6] 防范图形验证码重复使用
在完成关键业务操作时,要求用户输入图形验证码是防范自动化攻击的一种措施.为安全起见,即使针对同一用户,在重新输入信息时也应该更新图形验证码.iFlow 业务安全加固平台可以加强这方面的处理. 某网站系 ...
- Jenkins用户权限管理-Role-based Authorization Strategy插件
02-Jenkins用户权限管理-Role-based Authorization Strategy插件 在jenkins的使用过程中,需要给用户分配只管理特定项目的权限来保证项目相关人员只能管理对应 ...
- 集合类线程安全吗?ConcurrentModification异常遇到过吗?如何解决?
集合类不安全的问题 1. ArrayList的线程不安全问题 1.1 首先回顾ArrayList底层 ArrayList的底层数据结构是数组 底层是一个Object[] elementData的数组, ...
- 企业该选择什么样的CRM系统
不论您是需要CRM系统来优化业务流程,还是准备更换一款新的CRM系统,在这之前都应该先明确企业的需求,并了解CRM的哪些功能能够对企业有所帮助.例如,企业的管理者想了解每个销售人员的业绩情况,那么就应 ...
- 以对话的形式管理你的Kubernetes集群
BotKube BotKube 是一个用于监控和调试 Kubernetes 集群的消息传递工具. BotKube 可以与多个消息传递平台(如 Slack.Mattermost 或 Microsoft ...
- MySQL 数据库恢复一张表中的数据
如果使用 mysqldump -uroot -p123 user > test.sql备份了user数据库中的所有数据,但是当前只想要恢复该数据库的某张表数据,该怎么处理呢? 已知恢复整个数据库 ...
- shiro框架基础
一.shiro框架简介 Apache Shiro是Java的一个安全框架.其内部架构如下: 下面来介绍下里面的几个重要类: Subject:主体,应用代码直接交互的对象就是Subject.代表了当前用 ...
- Bootstrap-table 显示行号
趁热打铁,使用bootstrap-table时,想要显示每行的行号,再网上查了查,网上给的显示行号的大部分方法,只要一翻页,行号就会又从1开始计算, 也许没有碰到想要的,自己试着解决了这个问题,本人初 ...
- bugku SKCTF管理系统
这题hint是sql约束攻击...sql约束攻击其实我没了解过,当时就各种百度,现在总结一下 0x01: sql约束攻击:通常是sql查询语句select * from username= 'lin' ...
- ARTS第八周
1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有观点和思考的技术文章 以下是 ...