python零基础教程(6)——什么是条件判断?

目录

上次的每日一题:

解析:

条件判断

条件判断的含义

条件判断的分类

1、只含有if的单向判断

2、含有if-else的双向判断

3、含有if-elif-else的多向判断

总结

缩进

空值

每日一题

往期内容

=========================================================================

鸽了这么久,我终于又回来更新啦!(doge

上一节课讲完以后,很多人来私信我每日一题的答案。那么在这里公布一下,上次每日一题答案是——D。咦?为什么呢?且听下回分解。那么接下来我们稍微分析一下。

上次的每日一题:

a=input("你的生日是:")

你的生日是:****-**-**
 
a="ahhhh25768"
print("a")
?????

问:?????处输出为:(          )

A.****-**-**      B.input("你的生日是:")     C.ahhhh25768     D.a 

解析:

我们看到第一行将一个输入语句赋值给了变量a,第二行完成了输入;第三行把ahhhh25768赋值给了变量a,第四行输出。

根据我们之前学习的知识,我们知道:一个变量只会储存最后一次被赋值的常量。所以在这道题目中,变量a的值就是字符串"ahhhh25768"。

我们再看到问题,发现问的是输出的内容。那么我们接下来就要看到最后一行的输出:

print("a")

这个时候,有人就注意到了,print()里面的数据是带引号的。这说明什么?说明输出的数据是字符串——"a"。所以答案就是D——会输出a

=========================================================================

条件判断

好,言归正传,我们今天要一起学习python中的条件判断。在正文开始之前,我想先问你们一个问题:如果今天出太阳,你会去干什么;如果今天下雨,你又会去干什么?这,就是一个典型的条件判断。而我们要做的,就是让python帮我们帮助我们来进行条件判断。

条件判断的含义

判断语句是指根据判断的条件是否成立(True or False)来决定后续代码的执行的语句,就像在岔路口做选择一样,不同的选择代表着不同的路径和结果。

条件判断的分类

1、只含有if的单向判断

标准语法如下:

if 判断条件:
    代码执行部分

使用 if (如果),表明我们要在这里对语句进行判断。

if 后的判断条件通常是一个布尔表达式,即该表达式有两种结果:True 或 False。

一个冒号":"是判断语句的固定格式,用来表示这行判断语句的结束。

if 判断条件为True(真)时,程序就会执行判断语句内的代码。(代码执行部分)

有的人一定会注意到,在代码执行部分前面我打了几个空格,不过这不是我的"手滑"导致的,而是一个特定的格式——缩进,我们等一下再会详细学习。这里就不做过多解释了。

if判断的逻辑关系如下:

我们来看一段代码:

yourAge=20
myAge=18
if yourAge>myAge:    
    print("你的年龄比我大")

前两行对变量的赋值这里就不再讲了,我们从第三行开始分析。第三行一开始的if表示要进行语句判断;后面"yourAge>myAge"的布尔表达式是判断条件;冒号表示这行判断语句的结束;第四行的缩进和代码执行部分表明判断为True时要执行"print("你的年龄比我大")"这一代码。总之,当yourAge>myAge时,要print("你的年龄比我大")。

2、含有if-else的双向判断

标准语法如下:

if 判断条件:
    代码执行部分1
else:
    代码执行部分2

if(如果)表示当判断条件为Ture时需要执行if后面的代码(代码执行部分1);else(其他)表示当判断条件为False时执行else后面的的代码(代码执行部分2)。当然了,冒号也是千万不能忘滴~

if-else判断逻辑如下:

我们来看一段代码:

a=8
b=9
if a>b:
    print("a>b")
else:
    print("a<b")

这里的if-else语句表示:当判断条件为True时(即a>b),输出a>b;当判断条件为False时(即a<b),输出a<b。自然,这里的输出就是a<b。那么看到这里,你们是不是觉得if-else语句会和两个if语句一样呢?没错,确实一样。

a=8
b=9
if a>b:
    print("a>b")
if a<b:
    print("a<b")

那么,else的意义何在?答案就是——让我们少写点字。对,毕竟代码越繁琐,可读性和可维护性就会越低。所以,写代码要以可读性为主(当然你得确保它能跑),同一程序内尽量不要写重复的代码。

3、含有if-elif-else的多向判断

标准语法如下:

if 判断条件1:
    代码执行部分1
elif 判断条件2:
    代码执行部分2
......
elif 判断条件n-1:
    代码执行部分n-1
else:
    代码执行部分n

当判断的数量大于2时,单一的if-else是无法解决的。所以我们引进一个新的关键词:elif。elif是else if的缩写,表示当if后的判断条件为False时,再进行新的判断,执行elif后的代码。若elif的判断条件也不成立,则继续执行后面的elif或else的代码。if-else-elif逻辑关系如下图所示:

我们来看一段代码: 

a=-13
if a>0:
    print("a是正数")
elif a==0:
    print("a是零")
else:
    print("a是负数")

这段代码将数值-13赋值给了变量 a ,然后判断:如果a>0就输出"a是正数";如果a=0则输出"a是零";其他情况,输出"a是负数"。显然,在这里会输出a是负数。

这段代码还可以这样写:

a=-13
if a>0:
    print("a是正数")
else:
    if a==0:
        print("a是零")
    else:
        print("a是负数")

经过学习,这段代码大家应该都看得懂。但里面有一个新的知识点——嵌套,稍等一会便会详细讲解。

总结

现在,我们已经学习了三种判断语句:if 、if-else 和 if-elif-else 。
通过 if 、else 、elif 的搭配使用,我们可以覆盖条件判断中的所有情况,让程序按照我们预定的逻辑来执行很多自动化的工作。

我们还能得到语句有2个特性:
1. elif或else需与 if 搭配使用,它无法独立出现。必须先有 if ,然后才能使用 elif或else ,否则程序就会报错。

2. if 、elif 与 else 成互斥关系。
    互斥关系指的是,程序不会同时执行 if 内、 elif 内和 else 内的代码块,只会执行其中一个。else 是把 if 和 elif 判断条件无法囊括的情况全部划分到自己这里。就像这样:

为了更好地理解python中的条件判断,我们还需要知道几个概念:

缩进

Python 中不同层级的代码之间强制要求缩进,并且相同层级的代码要求缩进的空格数量一致。
在这里第1到3行代码属于同一层级,第4行代码单独属于一个层级:

yourAge=20
myAge=18
if yourAge<myAge:    
    print("你的年龄比我小")

特别地,我们把同一层级的代码叫做代码块。

值得一提的是,在Python中,缩进的数量不做强制的要求,几个空格都可以。我建议每个缩进用 4 个空格,这是一种比较美观易读的代码风格。(而且四个空格就是按一下tab键,懒人必备)

空值

什么是空值捏?很好理解。我们来看下面一段代码。

if 18:
    print("abcd")

咦?整形18可不是一个布尔表达式,它怎么会出现在判断条件的位置上呢?

但是其实这个程序确实是可以运行的,并且会输出字符串abcd,这又是为什么呢?

原因就是……作者很帅整形18是一个非零非空数据,计算机会把它当作Ture来判定;而“零”或“空”则会当作False。

非零,很好理解。顾名思义,不是整形0就行。

非空是什么呢?别急,我们慢慢看。

非空中所谓的“空”,就是我们要讲的空值。

空值,指的是Python里一个特殊的值,用None表示,表示该值是一个空对象。None不能理解为0,因为0是有意义的,而None是一个空值。我们也可以将None赋值给任何变量。

=========================================================================

每日一题

小明十分关心自己的身材,他查询到一个叫做BMI的衡量标准:

BMI=体重(kg)/身高(m)^2

BMI<18.5为消瘦;18.6-23.9正常;24-27.9超重;≥28肥胖。而小明身高169,体重60。请编写程序帮他判断自己的身体状况。

要求:1、将身高和体重储存在变量中;2、使用if-elif-else语句,并最终输出他的身体状况

快去动手逝世试试吧!我们下次再见!

=========================================================================

往期内容

python零基础教程(5)--变量和赋值

python零基础教程(4)--运算(2):and和or又有什么区别啊啊啊啊

python零基础教程(3)--运算(1):+-×÷ ?错,是+-*/

python零基础教程(2)--数据类型:“6”和6有什么区别啊啊啊啊

python零基础教程(1)----有趣的输出和转义

[文章内容难免有勘误,欢迎各位大佬在评论区指正]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值