Python07_条件判断:单向判断双向判断多向判断_冒号和缩进_if嵌套

条件判断

单向判断:if

代码-结果-解析

stonenumber=6
if stonenumber>=6:
    print('你拥有了毁灭宇宙的力量')
#你拥有了毁灭宇宙的力量
#解析:如果  条件:
#   做点什么

冒号和缩进

在条件判断代码中的冒号:后、下一行内容的前面,会空几个格

在计算机的沟通语言中,空格的学名叫缩进,比如我们写文章都要空两个格,这就叫首行缩进

对于Python而言,冒号和缩进是一种语法。它会帮助Python区分代码之间的层次,理解条件执行的逻辑及先后顺序

并且,在if条件语言中,缩进不需要我们手动按空格键。当你用英文输入法打:后按回车,我们的开发工具(用来编写Python代码的程序)为了方便大家编程,会自动实现下一行代码,向右缩进的功能。

此时,被缩进的内容(print()函数)和if条件语句组成了一个代码块(一个整体),成为了if条件下的内部命令

这意味着:如果赋值满足if条件,计算机就会准确执行if条件内部的命令。

冒号和缩进就相当于C语言、C++中的{}的作用

例子:如果没有缩进

代码-结果-解析

stonenumber=6
if stonenumber>=6:
print('你拥有了毁灭宇宙的力量')
#IndentationError: expected an indented block
#解析:(缩进错误:期望一个缩进块)
#当我们去掉缩进时,if条件和print命令成为了两个不同的代码组,属于平行关系。
#你看,print小弟都自立为王了,他自然就不会执行if老大的命令了

双向判断:if…else…

如果…不满足,就…
1.【if...else...】双向判断语句是:如果不满足if的条件,就执行else下的命令。
2. if和else自身所代表的条件是互斥的。
3.else想正确运行,一定要有一个和它平级的前提,这个前提可以是if判断,也可以是其他命令,比如循环命令。

代码-结果-解析

stonenumber=3
#赋值语句:为宝石数量赋值
if stonenumber>=6:
    #条件:如果你拥有的宝石数量大于等于6个
    print('你拥有了毁灭宇宙的力量')
    #结果:显示‘你拥有了毁灭宇宙的力量’的结果
else:
    #条件:当赋值不满足if条件时,执行else下的命令
    print('带着卡魔拉去沃弥尔星寻找灵魂宝石')
    #结果:显示‘去找灵魂宝石’的结果
#去找灵魂宝石

 

要求else前面没有缩进:

首先,当else条件前没缩进时,if和else各自抱团,形成两个不同的代码块。这时,if条件和else条件是平级的。

其次,在平级关系的前提下,他们表示的意思是条件和其他条件的互斥关系——如果不满足if条件,就执行else其他条件

如果有缩进就会报错:【SyntaxError: invalid syntax】(语法错误:无效语法)

 

else不一定要和if组团才能运行

并不是,虽然想要让else生效,一定需要一个平级的前提条件,但这个前提条件却不一定是条件判断语句,还可以是其他命令语句

可这个和else平级的命令有个限制条件:它得是一个需要再处理的命令。

什么叫再处理呢?就是要让计算机先做个判断(如先运行if条件),看是否通过,如果不通过,再运行else。

举一些具体的例子:while循环、for循环,这些都是需要再处理的命令,所以他们也可以作为else的平级命令。

下面,请你先看一下这段代码

for i in range(10):
    if i == 11:
        print('找到结果')
        break
else:
    print('未找到结果')
#未找到结果
#解析:else和if不仅不是平级,而且if语句还缩进了,并且else在if外,比if还高一级
#由于if缩进,成为了for循环的“小弟”。所以else和for的内部条件if无关,只和它的平级条件for循环有关
#这就意味着:根据计算机一行行往下执行命令的语法特点,计算机会先执行for循环下的代码块,完成后再执行else下的命令

多向判断:if…elif…else…

 代码-结果-解析

stonenumber=5
#为宝石数量赋值
if stonenumber>=6:
    #条件:如果你拥有的宝石数量大于等于6个
    print('你拥有了毁灭宇宙的力量')
    #结果:显示‘就拥有了毁灭宇宙的力量’的结果
elif 3<stonenumber<=5:
    #条件:如果想让宝石数量停留在4至5个
    print('红女巫需要亲手毁掉幻视额头上的心灵宝石')
else:
    #条件:当赋值不满足if和elif条件时,执行else下的命令,宝石数量在3个以下
    print('需要惊奇队长逆转未来')
    #结果:显示‘需要惊奇队长逆转未来’的结果

#红女巫需要亲手毁掉幻视额头上的心灵宝石
  • 整个条件判断的大前提会按照从上到下的顺序挨个试一遍,看满足哪个条件,满足了就不往下走,不满足就继续试,试到出结果为止
  • elif的运行本质上和else一样,都需要一个和elif平级的前提,但是这个前提只能是if
  • elif已经带有其他条件的意思,所以elif后也可以不接else

 

if嵌套

 

如何写嵌套代码

扒洋葱大法

第一步就是:我们要搞定最外层那张皮,将最基础的命令和条件写出来。

第二步,在“第一层皮”里增加额外条件。

最后一步,你要为另一个大条件else增加额外条件了!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值