选择流程

113 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第28天,10月更文诚意加码,激发写作潜力|掘金·日新计划 - 掘金 (juejin.cn)点击查看活动详情

day2 3.选择流程1_哔哩哔哩_bilibili

image.png image.png

if-else

2c894e6f1af34b8cffebbd41ef19221.jpg 在本小节,我们来学习Python的选择流程,分别是单分支,双分支和多分支。

先看典型的双分支,对于双分支来讲,我们来看上面的流程图。

image.png 首先程序在执行的时候从开始入口往下走,到达一个节点也就是一个十字路口的地方会面临两种选择,那么到底该选择哪一条路去走,完全是取决于这个条件表达式,如果这个表达式的结果成立True,也就是满足条件,它会继续的顺着这个分支的一个代码块去走;

image.png 如果这个表达式的结果为FALSE,它会选择另外一条路,同时执行这条路的代码逻辑,直到程序的结束。

Python条件语句主要是通过一条或者多条语句的执行结果,最终决定代码该往哪个方向走

结果是一个布尔类型的数据也就是TRUE/FALSE。

之前有个段子,买包子的。 image.png

if 有卖西瓜的:

买两个包子

else:

买四个包子

如果有卖西瓜的我就买两个包子,否则的话就买四个包子。

这个写法对于程序来讲结构是非常严谨的

版本pycharem 2022.2.2image.png 那下面我们就来用代码去实践一下分支如何来用

image.png 首先打开pycharm,新建一个项目起名为Python-process

image.png点击创建 (下面参数的配置前面内容说过就不再赘述了)

image.png 在项目顶部选中右键-->new-->Python file 命名为Python01

image.png 我们首先来看一下单分支如何来用

单分支

回顾单分支的语法结构 image.png

现在通过一个变量然后去结合语法结构做判断

比如考试成绩,如果考试成绩大于60分,给一个提示,如果不大于60再给另外一个提示。

定义变量:成绩

image.png

后面我们不需要去给它加分号直接赋值即可,下面来一个判断

if 后面跟的是条件表达式,我们说过这个条件表达式可以是一个比较运算符或者是一个逻辑运算符又或者是复合的条件表达式

image.png

注意后面一定是一个冒号,我们必须得严格遵守语法规范代码结构规范,回车 image.png 在这个地方就是我们的代码指令了,满足条件的话就会去执行并输出 “成绩不是太理想,要继续加油哦” image.png

退出代码

在这个代码里面我只输出一句话打印一句话(成绩不是太理想,要继续加油哦)

然后退出我的代码,退出来的话我们可以用什么呢,可以直接顶格敲

image.png

或者在这个位置直接用pass关键字,这个关键字代表一个空语句。表示我们是 一个空语句代表结束跳过的意思。起到填补结构的作用。 image.png

我再回车的时候,我们就会发现我们这个光标已经在这个顶格闪动了,已经跳出了这个代码块

SDGIF_Rusult_1.gif

再输入一句话

image.png

image.png

这个就是我们的单分支

再看一下这个结构,if 关键字,然后这里首先定义一个变量,通过这个变量去写一个表达式 ,如果满足条件的话那么这句话将会执行,否则的话不执行。

在空白处右键点击run

# 单分支
# if 条件表达式:比较运算符 逻辑运算符 复合的运算符
#    代码指令
#    ......
score=60
if score<=60: # 满足条件就会输出打印的提示
    print("成绩不是太理想,要继续加油哦")
    pass
print("语句运行结束")

image.png 结果出来了,成绩不是太理想,要继续加油哦。我们发现这行代码也打印出来了,也就是说

我们的条件满足了,成立了,所以才会去输出我这句话。那如果我把这个值改一下,改成

80,那此时这句话还会输出吗?右键run来运行 image.png

我们从结果可以看出来,我们这句话没有执行。因为这个条件它不成立,初始值是80,而条件小于等于60的时候才会输出。这就是我们的单分支,如果满足条件就进到这个代码块里去执行,不满足的话就直接跳过去了,就往下继续执行主程序

双分支

# 双分支的语法结构
# if 条件表达式:比较运算符/逻辑运算符/复合的表达式
# 代码指令
# else:
# 代码指令
# 必定会执行其中一个分支,如果怎么怎么否则怎么怎么,满足的需要处理不满足就不需要处理
# 只有两种情况,它肯定是会执行其中一个,肯定有一项是满足的,如果不满足证明我们的代码写的有问题
score=60
if score>60:
    print("你的成绩及格")
    pass
else: # FALSE时候才会执行
    print("您的成绩不合格,请继续努力")
    pass

运行发现结果跳到if这个代码框里了,因为我们这个条件表达式的结果是一个TRUE当结果满足成立的时候,我们这个代码才会去执行,看到的结果正是这个代码已经执行了,说明这个结果一定为TRUE,那么else肯定是为FALSE的时候才会执行。 image.png

我们修改一下初始值score=40,运行一下,这个时候结果运行到else里,因为if 的条件不成立所以跳到else里,两个分支必然执行一个 image.png