Python新手入门———条件判断(2)


在上一篇文章中,我们学习了 if 判断,如果布尔表达式成立,就执行后面的代码块。

假设,if 判断后面的布尔表达式不成立,我们想要执行另外的代码块,这该怎么办呢?
在这里插入图片描述

在图例中,我们使用了两个 if,来保证对比情况都会有对应的输出。

为了更便捷地写出代码,我们可以使用 if-else 来优化这段程序。
在这里插入图片描述
if 后面的语句是当判断条件成立时,需要执行的操作。

else 后面的语句是判断条件不成立时,执行的操作。

if—else语句

yourScore = 80
myScore = 90

if yourScore > myScore:
    print("你的得分比我高")
else:
    print("你的得分不比我高")

本例中比较了变量 yourScore 和变量 myScore。

如果 yourScore 大于 myScore,就输出"你的得分比我高"。

第7行代码进行 else 判断,否则就输出"你的得分不比我高"。

  • if 判断
    if 后面的布尔表达式,在这里不成立。
    if 里面的代码块,也就是第5行代码,不会被执行。
  • else
    一个关键字 else,如果之前的 if 判断条件不成立,就执行 else 的代码块。
  • 冒号
    在 else 之后使用冒号,表示后续缩进的代码块在判断条件不成立的时候会被执行。
    (新手一定记得冒号!)
  • 缩进
    缩进生成 else 内的代码块,这里我们还是空四格。

执行顺序

我们把 if-else 语句的执行顺序,梳理成流程图后,再来整理一下程序运行流程。

  • 第一种情况,程序运行到 if 判断时,如果条件为真,执行 if 的代码块。

完成后,运行 if-else 后面的代码。
在这里插入图片描述

  • 第二种情况,程序运行到 if 判断时,如果条件为假,程序就直接跳开 if 判断的执行部分,运行 else 的代码块。

完成后,运行 if-else 后面的代码。
在这里插入图片描述
在这里插入图片描述

注意

if-else 语句有两个特性。

  • 第一,else 需与 if 搭配使用,它无法独立出现。
    必须先有 if,然后才能使用 else,否则程序就会报错。
  • 第二,if 与 else 成互斥关系。
    互斥关系也就是说,程序不会既执行 if 内的代码块,又执行 else 内的代码块。
    else 是把 if 判断条件无法囊括的情况全部揽到了自己这里。

单双向判断

现在,我们已经学习了两种判断语句 if 和 if-else。

  • if 语句属于单向判断。

只要条件成立,就会运行 if 内的代码块;条件不成立,程序就会跳开 if 判断。

  • if-else语句属于双向判断。

如果 if 的条件不成立,就执行 else 内的代码块。

  • if 和 else 是两个互斥关系,程序只会执行其中的一个。

当我们在同时使用 if 和 if-else 语句时,要注意 if 和 else 的关系。

例如,图例中的代码,包含了 2 个 if 判断和 1 个 if-else语句,这三个判断互不影响。

在这里,else 是与第 3 个 if 搭配成 if-else 语句,与前两个 if 无关。
在这里插入图片描述

非空即零

在判断语句中,除了使用布尔表达式可以作为条件,还有其他的数据类型也可以作为判断条件。

思考一下图中代码为什么能够正常运行?
在这里插入图片描述

因为 myAge 被赋值了一个整型 20,所以它被判定为 True,于是程序继续执行了下一步代码。

在这里,变量myAge就是“非零非空”数据。

非零”这个概念比较好理解,数字 0 被判断为False,其他数字(包含正数和负数)都被判断为True。

“非空”是什么意思呢?要理解“非空”先要理解“空值”这个概念。

空值

  • 定义:
    空值,又叫 NULL 值,在 Python 中写作 None。None 是关键字。
    它代表这个数值不是整型,不是字符串,不是浮点型,表示没有值。

注意,它和 0 不一样,因为 0 的值是 0,而空值的值是None。

非空

了解了“空值”后,“非空”就更好理解了。

当一个变量里有值,并且这个值不是空值,我们就说这个变量非空。

非空值可以是整型、字符串、浮点型和布尔数。

  • 定义
    当一个变量里有值,并且这个值不是空值(None),我们就说这个变量“非空”。

同时我们也把所有不是空值的值称为“非空值”。

布尔表达式和非零非空数据,都可以作为判断语句的条件。

在判断语句中,对非零值判断为真;对数字0的判断为假;对 None 的判断为假。
在这里插入图片描述
举个例子~

当我们在登录邮箱时,需要输入账号和密码。

账号和密码就是“非空”数据,如果输入正确就登录成功。

如果忘记输入密码,点击登录按钮,程序就会判断的密码为“空值”,就会提示你“密码不正确”。

这就是非空和空值最常见的场景。

格式注意

现在,我们就学习完了 if-else 语句。 同学们在刚接触 if-else 判断时,最容易出现以下两种 bug:

  1. 语法错误
    else 后面的冒号常常被遗漏,这是if-else的固定格式,有冒号程序才知道下面是 else 的代码块。

  2. 缩进问题
    if 和 else 为互斥关系,else 的代码块需要通过缩进形成。为了保持风格统一,每个缩进用 4 个空格。

感谢阅读~

上一篇链接:http://t.csdn.cn/Qa7OV

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值