Python学习笔记——条件判断与条件嵌套

目录

一、条件判断

1.单向判断:if

小结

2.双向判断:if…else…

小结

3.多向判断:if…elif…else…

小结

二、if嵌套

1.if嵌套

2.if嵌套的执行顺序

3.小结


一、条件判断

我想让小爱同学在感知到我开门的一瞬间,打开客厅的灯。如果我只说:小爱同学,打开灯。那么,由于缺少开门的前提条件,无论你开不开门,灯都会打开着。所以,我们下的命令应该是这样:小爱同学,如果我开门,你打开客厅的灯。而这个下命令的如果…就…逻辑,就是与计算机沟通的逻辑——条件判断,其作用就是明确地让计算机知道:在什么条件下,该去做什么。

Python中,条件判断语句总共有三种表现形式:

1.单向判断:if

2.双向判断:if…else…

3.多向判断:if…elif…else…

1.单向判断:if

单向判断:if代表什么呢?举个例子:如果过了30分钟还没写完作业,他不能出去玩。

你会发现,例子中有一个如果......就。那么,如果我们要用代码来“翻译”这段话,就可以用条件判断语句中的单项判断:if来表述。

代码如下(示例):

# 赋值语句:为时间赋值
time = 31

# 条件:如果你拥做作业的时间大于30分钟
if time > 30:
    
    # 结果:显示‘超过时间,不能出去玩!’的结果
    print('超过时间,不能出去玩!')

运行结果如下:
超过时间,不能出去玩!

这段代码是如何实现的呢?

首先,第一行代码,用赋值运算符=对当前情况进行赋值:将做作业时间设定为31分钟赋值给变量——时间time

第二步,确定if条件:如果变量time的值>时间30时,就执行冒号后,下一行的命令。

第三步,用print()命令打印出结果:超过时间,不能出去玩!。

所以,if语句的单向判断逻辑,我们可以这样归纳:

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

首先,在计算机的沟通语言中,空格的学名叫缩进,比如我们写文章都要空两个格,这就叫首行缩进。对于Python而言,冒号和缩进是一种语法。它会帮助Python区分代码之间的层次,理解条件执行的逻辑及先后顺序。【注:缩进是四个空格或一个Tab键】

并且,在if条件语言中,缩进不需要我们手动按空格键。当你用英文输入法打:后按回车,我们的开发工具(用来编写Python代码的程序)为了方便大家编程,会自动实现下一行代码,向右缩进的功能。此时,被缩进的内容(print()函数)和if条件语句组成了一个代码块(一个整体),成为了if条件下的内部命令

这意味着:如果赋值满足if条件,计算机就会准确执行if条件内部的命令(即缩进的代码块)。

小结

我们来小结一下单向判断:if的代码逻辑及语法格式:

2.双向判断:if…else…

如果过了30分钟还没写完作业,他不能出去玩;如果30分钟内完成作业,他可以出去玩。

在Python中,我们可以利用if的双向判断形式:if…else…去实现这个。

代码如下(示例):

# 赋值语句:为时间赋值
time = 25

# 条件:如果你拥做作业的时间大于30分钟
if time > 30:
    
    # 结果:显示‘超过时间,不能出去玩!’的结果
    print('超过时间,不能出去玩!')

# 条件:当赋值不满足if条件时,执行else下的命令
else:

    # 结果:显示‘可以出去玩了!’的结果
    print('可以出去玩了!')
    
运行结果如下:
可以出去玩了!

很多时候,我们不能把鸡蛋放在一个篮子里,要做好两手准备:如果不满足条件时,我们要怎么办。

Python则很贴心地,让我们借用if…else…语句,让码农们有了另一种选择——【如果…不满足,就…】

小结

if...else条件语句中,ifelse各自抱团,形成两个不同的代码块。表示的是条件其他条件的互斥关系——如果不满足if条件,就执行else其他条件

3.多向判断:if…elif…else…

如果过了30分钟还没写完作业,他不能出去玩;如果20分钟完成作业,他可以出去玩;如果20分钟内完成作业,他可以出去玩,还有奖励哦!

当判断的条件超过3个时,中间的多个条件都可以使用elif(如图)。

代码如下(示例):

# 赋值语句:为时间赋值
time = 15

# 条件:如果你拥做作业的时间大于30分钟
if time > 30:
    
    # 结果:显示‘超过时间,不能出去玩!’的结果
    print('超过时间,不能出去玩!')

# 条件:如果完成作业时间小于30分钟,大于等于20分钟
elif 20 <= time < 30

    # 结果:显示‘可以出去玩了!’的结果
    print('可以出去玩了!')

# 条件:当赋值不满足if和elif条件时,执行else下的命令
else:

    # 结果:显示‘可以出去玩,还有奖励哦!’的结果
    print('可以出去玩,还有奖励哦!')
    
运行结果如下:
可以出去玩,还有奖励哦!

小结

通过上面ifelse的了解,多向判断elif的逻辑就很好理解了。

二、if嵌套

1.if嵌套

if嵌套的应用场景,简单来讲就是:在基础条件满足的情况下,再在基础条件底下增加额外的条件判断。

考试成绩评价规则:

1. 如果成绩大于等于60分,就是及格,在此前提下:
(1)如果成绩大于等于80分,属于优秀范围;
(2)否则(即大于等于60分而小于80分),属于一般范围。

2. 如果成绩小于60分,就是不及格,在此前提下:
(1)如果成绩小于30分,平时太不认真,属于学渣了;
(2)如果成绩(小于60分而大于等于30分),那么,至少还能抢救一下。

像上面的基础条件是60分及格,想要判断优秀一般还要增加额外条件——是否大于等于80;在小于60分不及格基础条件下,想要判断学渣可抢救还要增加额外条件——是否大于等于30。

if嵌套可以像下方代码这样:

historyscore = 33

if historyscore >= 60:           #代码组1
    print('你已经及格') 

    if historyscore >= 80:
        print('你很优秀')

    else:
        print('你只是一般般')

else:                            #代码组2
    print('不及格')

    if historyscore < 30:
        print('学渣')

    else:
        print('还能抢救一下')

print('程序结束')

运行结果如下:
不及格
还能抢救一下
程序结束

2.if嵌套的执行顺序

首先,我们看上段代码,先从整体总览一下,这段成绩评价规则的代码,总共分为四部分【赋值ifelseprint()】,两个大代码组。

并且,在代码组1的if条件和代码组2的else的条件下,又包含了条件判断命令if...else...

缩进相同的命令处于同一个等级,第一步,计算机就要按顺序一条一条地执行命令。

那么,计算机执行的顺序就是:

(1)先给historyscore赋值;

(2)因为if和else是只能留一个的互斥关系,if和else下的代码块只会执行一个,所以计算机要判断赋值的内容满足【historyscore>=60】还是【historyscore<60】的条件——如果满足if的条件,就执行if缩进下的内容,如果不满足就执行else缩进下的内容;

(3)执行print('程序结束')。

3.小结

通过以上的的内容,可以总结为下图:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值