3.下一站是何方?
3.1 顺序结构
🚩抛开代码而言,我们在读文章的时候,我们的顺序是怎样的呢?是不是从上到下去读的呢,在我们的 Python 程序中其实也是这么一个道理,我们的 PyCharm 在翻译 Python 语言的时候的顺序也是从上至下的顺序:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/7 11:50 # 欢迎大家关注AIoT相关博客~ print('我是辰chen') print('在这里求一个一键三连~') print('谢谢各位啦')
可以看到,在控制台上输出的顺序是对应我们 Python 代码中的上至下的顺序
3.2 选择结构
在 Python 这片广袤无边的国度,我们会面临诸多的选择,究竟下一站在哪?我们在 Python 中遇到交叉路口的时候,究竟哪一条道路才是阳光大道呢?下面,就让我们介绍选择结构:
3.2.1 单分支选择结构
🚩我们的日常生活中经常会说这样的句子:如果今天不下雨,那么我就出去玩;如果明天放假,那么我明天就睡一个懒觉,这其实对应了一个流程图:
我们把上面的流程图变现为 Python 代码::
if 条件表达式: 语句块
单分支选择结构语法如上述所示,其中条件表达式后面的:
是绝对不可以省略的,:
表示的是语句块的开始,并且语句块必须进行相应的缩进(一个Tab键的距离【4个空格】),代码所表达的意思就是,如果 语句表达式成立【bool值为True】
,就执行语句块的内容
3.2.2 双分支选择结构
🚩我们的日常生活中经常会说这样的句子:如果今天不下雨,那么我就出去玩;否则,我就待在家;如果明天放假,那么我明天就睡一个懒觉,否则我就不得不按时去上班。这其实对应了一个流程图:
我们把上面的流程图变现为 Python 代码::
if 条件表达式: 语句块一 else : 语句块二
双分支选择结构语法如上述所示,其中条件表达式后面的:以及else后面的:是绝对不可以省略的,:表示的是语句块的开始,并且语句块必须进行相应的缩进(一个Tab键的距离【4个空格】),代码所表达的意思是,如果语句表达式成立【bool值为True】,就执行语句块一后面的内容,否则,就执行语句块二后面的内容
3.2.3 多分支选择结构
🚩我们按照一个实例去讲解多分支结构,比如有题目有如下诉求:输入你的分数,如果你的分数在90分以上,输出 A,如果你的分数在 80 ~ 89,输出 B,如果你的分数在 70 ~ 79,输出C,如果你的分数在 60 ~ 69,输出 D,否则输出 E,这个题目,你会发现,如果我们只有一个 if 是显然不够用的,我们需要多个 if,那么你可能会写出如下代码:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/7 18:26 # 欢迎大家关注AIoT相关博客~ score = int(input()) if score >= 90: print('A') if 80 <= score < 90: print('B') if 70 <= score < 80: print('C') if 60 <= score < 70: print('D') else: print('E')
对么?读者可以自己思考一下
答案是不对的,我们不妨运行输入一个数字:90,按照我们题目所规定的的,应该输出:A;我来运行一下:
显然是不对的,问题就出在 if 和 else 上,if 和 else 是一一对应的,else 仅代表与它最近的一个 if 不成立的时候,会执行 else 语句,故对于上述代码,只要我们输入的分数不在 60 ~ 69,就睡输出 E,为此,我们介绍一个新的语句:elif,我们用代码去介绍:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/7 18:26 # 欢迎大家关注AIoT相关博客~ score = int(input()) if score >= 90: print('A') elif 80 <= score < 90: print('B') elif 70 <= score < 80: print('C') elif 60 <= score < 70: print('D') else: print('E')
图示表达如下:
多分支选择结构的语法如下:
if 条件表达式1: 语句块1 elif 条件表达式2: 语句块2 elif 条件表达式3: 语句块3 ... else: 语句块n
3.2.4 选择结构的嵌套
选择结构的嵌套语法格式如下:
if 条件表达式1: 语句块1 if 条件表达式2: 语句块2 else: 语句块3 else: if 表达式4: 语句块4
这里还是和 3.2.3 多分支选择结构 一样用例子去讲解,我们需要输入一个百分制的数字,如果输入的数字不合法,就输出:输入的数据不合法,否则的话,我们输出一个对该分数的评级:如果你的分数在90分以上,输出 A,如果你的分数在 80 ~ 89,输出 B,如果你的分数在 70 ~ 79,输出C,如果你的分数在 60 ~ 69,输出 D,否则输出 E。表示代码如下:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/7 19:18 # 欢迎大家关注AIoT相关博客~ score = int(input()) if score > 100 or score < 0: print('输入的数据不合法') else: if score >= 90: print('A') elif 80 <= score < 90: print('B') elif 70 <= score < 80: print('C') elif 60 <= score < 70: print('D') else: print('E')
*3.2.5 条件表达式
注:本小节带 *,不需要进行学习,可以简单进行了解
⛲️ 所谓的条件表达式,其实就是对 if else 的一个简写,其语法结构如下所示:
a if 判断条件 else b # 如果判断条件为 True,那么会返回 a 的值,否则会返回 b 的值
下面还是通过一个例子去说明:比如我们要输入两个整数 a 和 b,如果 a > b 则输出 a,否则输出 b,写出 Python 代码如下,首先是不采用条件表达式的代码:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/7 19:41 # 欢迎大家关注AIoT相关博客~ a = int(input()) b = int(input()) if a > b: print(a) else: print(b)
我们说条件表达式其实就是对 if else 的一个简写,那么简写后的代码如下:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/7 19:41 # 欢迎大家关注AIoT相关博客~ a = int(input()) b = int(input()) print(a if a > b else b)
*3.2.6 pass语句
注:本小节带 *,不需要进行学习,可以简单进行了解
⛲️ pass 语句其实就是一个占位符,我们知道,我们的 PyCharm 是在我们写的过程中实时给我们检查代码是否有错误的,如果当我们在写 if 的时候还没有构思好 if 后面的执行语句,又不想看到代码报错,我们可以先用 pass 顶替执行语句,这样代码就不会报错,代码如下:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/7 20:12 # 欢迎大家关注AIoT相关博客~ a = int(input()) if a < 10: pass else: pass
我们可以在如下情况下使用 pass:
1.if
语句的执行语句
2.for
循环的循环体
3.函数体的定义
⛲️ 现在我们只介绍了第一条,关于函数和循环后续会有专门的讲解