python ---条件判断、if嵌套、如何写嵌套代码

今天咱们学习python沟通逻辑

为了让计算机明确的知道:在什么条件下,该去做什么。咱们就需要用到与计算机沟通的逻辑—条件判断。

目录

  • 条件判断
      • 单向判断: if
      • 双向判断:if...else...
      • 多向判断:if...else...else
  • if嵌套
      • if嵌套的执行顺序
  • 如何写嵌套代码
        • 用上面的历史成绩举例,第一步就要搞定最外层那张皮,将最基础的命令和条件写出来。
        • 第二步,在“第一层皮”里装东西。也就是在条件【historyscore>=60】下,增加额外条件。
        • 最后一步,你要为另一个大条件else增加额外条件了!
  • 公布一下上篇文章中提到的那几道题答案

条件判断

python ---条件判断、if嵌套、如何写嵌套代码_第1张图片
对于Python也是同样。Python之所以能完成自动化任务,比如自动抓取网页关键词,自动下载小电影等,就是因为它可以执行条件判断。

在Python宇宙,条件判断语句总共有三种表现形式,我们先从最简单的单向判断:if开始说起:

单向判断: if

python ---条件判断、if嵌套、如何写嵌套代码_第2张图片
举个例子:

  • #为宝石数量赋值
    stonenumber=6
  • #条件:如果你拥有的宝石数量大于等于6个
    if stonenumber>=6:
  • #结果:显示‘你拥有了毁灭宇宙的力量’的结果
    print(‘你拥有了毁灭宇宙的力量’)

答案:你拥有了毁灭宇宙的力量

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

   首先,第一行代码,用赋值运算符=对当前情况进行赋值:
   将你拥有的宝石个数6赋值给变量——宝石数stonenumber。

   第二步,确定if条件:如果变量stonenumber的值>=个数6时,
   就执行冒号后,下一行的命令。

   第三步,用print()命令打印出结果:你拥有了毁灭宇宙的力量。

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

python ---条件判断、if嵌套、如何写嵌套代码_第3张图片
在这里,你可能注意到了一个细节:在条件判断代码中的冒号:后、下一行内容的前面,会空几个格,但这是为什么呢?

python ---条件判断、if嵌套、如何写嵌套代码_第4张图片

   1.首先,在计算机的沟通语言中,空格的学名叫缩进,
   比如我们写文章都要空两个格,这就叫首行缩进。
   2.对于Python而言,冒号和缩进是一种语法。
   它会帮助Python区分代码之间的层次,
   理解条件执行的逻辑及先后顺序。【注:缩进是四个空格或一个Tab键】
   3.并且,在if条件语言中,缩进不需要我们手动按空格键。
   当你用英文输入法打:后按回车,我们的开发工具
   (用来编写Python代码的程序)为了方便大家编程,
   会自动实现下一行代码,向右缩进的功能。
   4.此时,被缩进的内容(print()函数)和if条件语句组成了
   一个代码块(一个整体),成为了if条件下的内部命令。
   5.这意味着:如果赋值满足if条件,计算机就会准确执行if条件
   内部的命令(即缩进的代码块)。

所以当我们去掉缩进时,if条件和print命令成为了两个不同的代码组,属于平行关系。if条件下面,缺少了可以执行的动作。我们想一下:无论条件成不成立,都不会执行什么操作,这个条件的存在没有任何意义。

最后小结一下:if的代码逻辑与语法格式:
python ---条件判断、if嵌套、如何写嵌套代码_第5张图片
注意:计算机是一行行往下执行代码的。所以,当第一行赋值情况的前提不满足if的条件时,Python的逻辑就会判断:条件不满足,无法执行if条件下的命令,从而自动跳过,执行下一行命令。

python ---条件判断、if嵌套、如何写嵌套代码_第6张图片

双向判断:if…else…

python ---条件判断、if嵌套、如何写嵌套代码_第7张图片
举个例子:

  • #赋值语句:为宝石数量赋值
    stonenumber=3

  • #条件:如果你拥有的宝石数量大于等于6个
    if stonenumber>=6:

  • #结果:显示‘你拥有了毁灭宇宙的力量’的结果
    print(‘你拥有了毁灭宇宙的力量’)

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

  • #结果:显示‘去找灵魂宝石’的结果
    print(‘带着卡魔拉去沃弥尔星寻找灵魂宝石’)

python:带着卡魔拉去沃弥尔星寻找灵魂宝石

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

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

python ---条件判断、if嵌套、如何写嵌套代码_第8张图片
在if…else条件语句中,if和else各自抱团,形成两个不同的代码块。表示的是条件和其他条件的互斥关系——如果不满足if条件,就执行else其他条件。

python ---条件判断、if嵌套、如何写嵌套代码_第9张图片
最后总结一下语句逻辑:
python ---条件判断、if嵌套、如何写嵌套代码_第10张图片
最后给大家留一个练习题:

前天晚上,酱酱无比纠结自己要不要吃夜宵,所以她打算上秤称一下,如果体重超过100斤,就不吃了,没有的话,就放心吃。结果……刚好101斤(泪目)……

请在下面代码框里用if…else…把酱酱的夜宵判断语句写出来。【要点提示:1. 为酱酱的体重weight赋值;2. 开始判断,如果if体重超过100斤,打印结果不吃了,否则else,打印结果放心吃吧;3. if和else语句后需跟英文冒号:】

答案下篇文章公布!!!

最后再总结一下知识点:

python ---条件判断、if嵌套、如何写嵌套代码_第11张图片

多向判断:if…else…else

python ---条件判断、if嵌套、如何写嵌套代码_第12张图片

在判断3个或3个以上的条件时,我们就需要借助Python中的多向判断命令:if…elif…else…。

icon
这三者共同构成了多向判断的命令逻辑关系:如果if的条件不满足,就按顺序看是否满足elif的条件,如果不满足elif的条件,就执行else的命令。
并且,当判断的条件超过3个时,中间的多个条件都可以使用elif。

python ---条件判断、if嵌套、如何写嵌套代码_第13张图片
举个例子:

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

python:绯红女巫需要亲手毁掉幻视额头上的心灵宝石

通过上面if和else的积累,多向判断elif的逻辑是不是很好理解?

1.首先,第一行的赋值,会按照从上到下的顺序挨个试一遍,看自己满足哪个条件,满足了就不往下走,不满足就继续试,试到出结果为止。

2.其次,elif的运行本质上和else一样,已经带有其他条件的意思,所以elif后可以不接else。

比如上面的代码,stonenumber=5会对下面的if elif else条件逐个扫描,看看自己满足哪一个,就执行哪个条件底下的命令。

很显然,第二个条件elif 0

再留一个作业:

(1)为宝石数量赋值(数量为0)
(2)条件1:如果宝石数量>=6,显示你拥有了毁灭宇宙的力量
(3)条件2:如果0<宝石数量<=5,显示绯红女巫需要亲手毁掉幻视额头上的心灵宝石(4)条件3:如果是其它情况,显示需要惊奇队长逆转未来

答案下篇公布!!!

最后总结一下知识点;

python ---条件判断、if嵌套、如何写嵌套代码_第14张图片

if嵌套

举个例子,大家就知道嵌套是什么意思了

python ---条件判断、if嵌套、如何写嵌套代码_第15张图片
像这种如果底下还有如果(即条件里还套条件)的情况,我们如何用Python把上面的规则写出来,并得出评价呢?

答案就是——嵌套条件。

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

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

就可以用if嵌套可以像下方代码这样表达:

  • historyscore=26
  • if historyscore>=60:
    print(‘你已经及格’)
    • if historyscore>=80:
      print(‘你很优秀’)

python:
不及格、学渣、程序结束这三个结果

一定要注意格式:
python ---条件判断、if嵌套、如何写嵌套代码_第16张图片

if嵌套的执行顺序

首先咱们对上面评分规则做一个代码剖析:
总共分为四部分【赋值、if、else、print()】,两个大代码组。

python ---条件判断、if嵌套、如何写嵌套代码_第17张图片
并且,在代码组1的if条件和代码组2的else的条件下,又包含了条件判断命令if…else…。

那么,这种嵌套命令我们要如何理解呢?

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

那么,计算机执行的顺序就是:
(1)先给historyscore赋值;
(2)因为if和else是只能留一个的互斥关系,if和else下的代码块只会执行一个,所以计算机要判断赋值的内容满足【historyscore>=60】还是【historyscore<60】的条件——如果满足if的条件,就执行if缩进下的内容,如果不满足就执行else缩进下的内容;
(3)执行print(‘程序结束’)。

计算机语法的执行逻辑永远都不会变,else下的代码也要一行一行往下执行,并根据条件判断运行对应层级,输出对应结果。

python ---条件判断、if嵌套、如何写嵌套代码_第18张图片
最后咱们通过一张导图理一下if嵌套的逻辑,建议收藏起来,随时翻看:

python ---条件判断、if嵌套、如何写嵌套代码_第19张图片
要注意的是,elif也是可以放进嵌套里的。

如何写嵌套代码

if嵌套由于涉及多个条件判断,并且是条件套条件的判断,所以为了理清逻辑,我们可采用扒洋葱大法写if嵌套。

用上面的历史成绩举例,第一步就要搞定最外层那张皮,将最基础的命令和条件写出来。

举例子:
我们的思考逻辑应该是这样
(1)把彼得·帕克26分的历史成绩赋给变量historyscore;
(2)用if…else写最基础判断条件如果historyscore>=60时,打印你已经及格,否则,打印不及格;
(3)用print()输出程序结束。

python ---条件判断、if嵌套、如何写嵌套代码_第20张图片

注意格式

第二步,在“第一层皮”里装东西。也就是在条件【historyscore>=60】下,增加额外条件。

其中,额外条件1:当历史成绩大于80分,显示结果你很优秀;额外条件2:当历史成绩在60到80分之间,显示结果:你只是一般般。

下面,请你先瞄一眼正确的代码,并注意我是怎样安排额外条件的代码的。
python ---条件判断、if嵌套、如何写嵌套代码_第21张图片
python ---条件判断、if嵌套、如何写嵌套代码_第22张图片

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

python ---条件判断、if嵌套、如何写嵌套代码_第23张图片

请你以上方代码框中的代码为基础,在else底下增加两个额外条件。

其中,额外条件1:当历史成绩小于60,同时还小于30时,输出结果学渣;额外条件2:当历史成绩小于60,但大于等于30时,输出结果还能抢救一下。如下所示:
python ---条件判断、if嵌套、如何写嵌套代码_第24张图片
看完是不是觉得很简单,没错就是这么简单。

最后总结一下所有知识点:

python ---条件判断、if嵌套、如何写嵌套代码_第25张图片

公布一下上篇文章中提到的那几道题答案

大家核对一下没有没做对:自己找对应

第一道题:

question = ‘Python魔法可以生成镜像世界吗?’
meaning = ‘镜像世界的意义是解决一些在现实世界难以实现的任务,同意+1’
emotion = ‘clapping!耶!’
slogan = ‘进入镜像世界——python,提高战斗力!’

print(question)
print(meaning)
print(emotion)
print(slogan)

第二道题:

在这里插入图片描述
按照运算优先级口诀,从左到右先算括号里的,括号外的则乘除先于加减。

你可能感兴趣的:(python,python)