if 嵌套if 的先后顺序的区别 (自测)
# 验证 verify very good!
# username = input("请输入用户名").capitalize()
# password = input("请输入密码:").upper()
# verify_code = input("请输入验证码: ") # 最后发现,这个要放在while循环里面.
第一种情况:
if用户名和密码 嵌套 if验证码:
好!推荐! 因为先判断的是用户名+密码, 再判断验证码
while 1:
username = input("请输入用户名").capitalize()
password = input("请输入密码:").upper()
# verify_code = input("请输入验证码: ").capitalize()
if username == "Jack" and password == "":
verify_code = input("请输入验证码: ").capitalize()
if verify_code == "Utf8":
print("登录成功.")
break
else:
print("验证码错误")
else:
print("用户名或者密码错误.")
第二种情况:
if用户名和密码 嵌套 if验证码:
(这种不是很好,因为先判断的是验证码.然后再判断用户名+密码的)
while 1:
user_ming = input("请输入用户名:")
user_mima = input("请输入密码: ")
veri_co = input("请输入验证码:")
if veri_co == "TXT":
if user_ming == "瓜瓜" and user_mima == "":
print("登陆成功")
break
else:
print("用户名或密码错误")
else:
print("验证码错了")
总结: 想要首先判断的东西, 就放在第一行if, 其次判断的东西被嵌套(放在次级if).
Tip: 验证码的判断可以放在第一个if下,次级if上面.
if 嵌套if 的先后顺序的区别 (自测)的更多相关文章
- 【分析】浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang)
[分析]浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang) 今天无意中看到有关Invoke和BeginInvoke的一些资料,不太清楚它们之间 ...
- 拦截器(Interceptor)和过滤器(Filter)的执行顺序和区别
一.引言 本来想记录一下关于用户登陆和登陆之后的权限管理.菜单管理的问题,想到解决这个问题用到Interceptor,但想到了Interceptor,就想到了Filter,于是就想说一下它们的执行顺序 ...
- MySQL的join on和 where 的执行顺序和区别,以及各种连接说明
目录 1.各种连接的解读说明: 1.1.各种连接的含义和说明 1.1.1 所有连接分类 1.1.2 left join 和 left outer join 区别 1.2.神图参考 1.4.一些参考说明 ...
- try--catch--finally中return返回值执行的顺序(区别)
1.try块中没有抛出异常,try.catch和finally块中都有return语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public static int ...
- for循环中嵌套setTimeout,执行顺序和结果该如何理解?
这两天在捣鼓作用域的问题,有的时候知识这个东西真的有点像是牵一发而动全身的感觉.在理解作用域的时候,又看到了一道经典的面试题和例子题. 那就是在for循环中嵌套setTimeout延时,想想之前面试的 ...
- mybatis的嵌套查询(嵌套查询nested select和嵌套结果nested results查询)区别
(转自:http://blog.csdn.net/canot/article/details/51485955) Mybatis表现关联关系比hibernate简单,没有分那么细致one-to-man ...
- Java 语句while、do while、for循环、嵌套、for与while的区别、break continue(3)
for循环语句,双从for嵌套: /* for(初始化表达式:循环条件表达式:循环后的操作表达式) { 执行语句: } */ /*1,变量有自己的作用域.对于for来讲:如果将用于控制循环的增量定义在 ...
- sql 语句 嵌套子查询 执行顺序分析
--创建测试数据create table Student(S# varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10))inser ...
- 构造方法与构造块的执行顺序(区别于static)
小面试题:在类的实例化时,会调用类的构造块(类中的构造块)和构造方法,无论构造方法在前还是在后,都先执行构造块 class Person{ public Person(){ System.out.pr ...
随机推荐
- Zabbix4.2.0基本配置和邮件报警
目录 1. 修改中文 2. 添加监控本机 3. 监控本机mysql 4. 配置邮件报警 4.1 添加FTP模板 4.2 报警媒介类型 4.3 配置报警到用户 4.4 配置动作 4.5 模拟FTP故障 ...
- Vue + Element UI 实现权限管理系统 前端篇(十):动态加载菜单
动态加载菜单 之前我们的导航树都是写死在页面里的,而实际应用中是需要从后台服务器获取菜单数据之后动态生成的. 我们在这里就用上一篇准备好的数据格式Mock出模拟数据,然后动态生成我们的导航菜单. 接口 ...
- leetcode — letter-combinations-of-a-phone-number
import java.util.*; /** * Source : https://oj.leetcode.com/problems/letter-combinations-of-a-phone-n ...
- Tensorflow学习笔记(2):tf.nn.dropout 与 tf.layers.dropout
A quick glance through tensorflow/python/layers/core.py and tensorflow/python/ops/nn_ops.pyreveals t ...
- Struts的FormFile与Commons-FileUpload控件使用心得
转自: http://www.iteye.com/topic/212566 前一段时间刚来公司,看到一个项目中以前有人写的struts代码.是使用了FormFile来处理关于文件上传的模块.但是用力一 ...
- 如何用TexturePacker打包素材
如何用TexturePacker打包素材 TexturePacker是一个非常好用的图片素材打包工具,它能帮助你减少游戏的图片内存使用. 官方下载地址:http://www.codeandweb.co ...
- SpringBoot---基本配置
1.首先在pom.xml添加对HTML的相关依赖 /** * pom.xml文件 */ <dependencies> <dependency> <groupId>o ...
- ARP的通信过程
在当今的以太网络通信中,在IP数据包中有两个必不可少的地址,那就是IP地址和网卡地址(即MAC地址),在数据包中,无论是IP地址还是MAC地址,都有源地址和目标地址,因为通信是双方的,所以就必须同时拥 ...
- #18 turtle模块
前言 这一节继续记录模块,本节将记录Python中一个非常重要的画图模块——turtle,Here we go! 一.turtle模块 turtle(海龟)模块是Python中强大的内置画图模块,可以 ...
- S5PV210 串口配置与实验(轮询方式)
S5PV210 UART 相关说明 通用异步收发器简称 UART, 即 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER,它用来传输串行数据.发送数据时, ...