大爽Python入门教程 3-2 条件判断: if...elif..else
大爽Python入门公开课教案
点击查看教程总目录
简单回顾if
回顾下第一章的代码
>>> x = 5
>>> if x > 0:
... print("x is greater than 0")
...
x is greater than 0
当时是从朴素的逻辑角度去理解的。
现在详细的说一下这个。
if语句的基础形式如下
if condition:
statement # code block
condition为True,代表if判断成功,则执行冒号下面的缩进的代码块statement。condition为False,代表if判断不成功,不执行冒号后面的statement。
补充:如果condition不是布尔值,那就会先计算出condition的布尔值。
if...else
if常常会和else连用。
其语法格式如下
if condition:
statement1 # code block for True
else:
statement2 # code block for False
condition为True,代表if判断成功,执行statement1。
condition为False,代表if判断不成功,进入else情况,执行statement2。
代码示例
>>> x = 5
>>> if x > 0:
... print("x is greater than 0")
... else:
... print("x is less than or equal to 0")
x is greater than 0
>>> x = - 1
>>> if x > 0:
... print("x is greater than 0")
... else:
... print("x is less than or equal to 0")
x is less than or equal to 0
if...elif
有时候,我们可能需要判断多个场景。
比如:
如果是场景A,则如何如何。
如果是场景B,则如何如何。
如果是场景C。。。。。。
这个时候就需要使用elif。
其基础格式如下
if condition1:
statement1 # code block for condition1
elif condition2:
statement2 # code block for condition2
condition1为True,代表if判断成功,执行statement1
(不进入后面的elif判断)。condition1为False,代表if判断不成功,进入elif判断。condition2为True,代表elif判断成功,执行statement2。condition2为False,代表elif判断不成功,不执行statement2。
且可以不断地在后面补充elif
if condition1:
statement1 # code block for condition1
elif condition2:
statement2 # code block for condition2
elif condition3:
statement2 # code block for condition2
elif condition4:
statement2 # code block for condition2
condition1为True,代表if判断成功,执行statement1
(不进入后面的elif判断)。
condition1为False,代表if判断不成功,进入下面第1个elif判断。condition2为True,代表第1个elif判断成功,执行statement2(不再进入后面的elif判断)。
condition2为False,代表第1个elif判断不成功,进入下面第2个elif判断。condition3为True,代表第2个elif判断成功,执行statement3(不再进入后面的elif判断)。
condition3为False,代表第2个elif判断不成功,进入下面第3个elif判断。condition4为True,代表第3个elif判断成功,执行statement4。
condition4为False,代表第3个elif判断不成功。
代码示例。
比如我们之前的习题,根据左转的次数判断其方位。
小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度),
小明面朝哪里?
这个就可以使用上面的elif来弄
times = 51
di = times % 4
if di == 0:
print("north")
elif di == 1:
print("west")
elif di == 2:
print("south")
elif di == 3:
print("east")
其输出为
east
改变times,输出也会更着发生对应变化。
if...elif...else
实际上,对于上面的例子。
最后一个判断是没必要,或者说多余的。
因为总共就四种情况,不是第一二三种的话,就必然是第四种。
所以最后一个elif判断,可以直接换成else。
即如下
times = 51
di = times % 4
if di == 0:
print("north")
elif di == 1:
print("west")
elif di == 2:
print("south")
else:
print("east")
当else上面的所有if和elif都为False时。
会进入else。
一般情况数量固定,当其他情况都判断之后,
最后剩下的一个情况不用判断,直接使用else。
大爽Python入门教程 3-2 条件判断: if...elif..else的更多相关文章
- 大爽Python入门教程 3-3 循环:`for`、`while`
大爽Python入门公开课教案 点击查看教程总目录 for循环 可迭代对象iterable 不同于其他语言. python的for循环只能用于遍历 可迭代对象iterable 的项. 即只支持以下语法 ...
- 大爽Python入门教程 3-4 实践例题
大爽Python入门公开课教案 点击查看教程总目录 1. 求和 使用循环,计算列表所有项的和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, 11 ...
- 大爽Python入门教程 3-1 布尔值: True, False
大爽Python入门公开课教案 点击查看教程总目录 1 布尔值介绍 从判断说起 回顾第一章介绍的简单的判断 >>> x = 10 >>> if x > 5: ...
- 大爽Python入门教程 3-5 习题
大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...
- 大爽Python入门教程 3-6 答案
大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...
- 大爽Python入门教程 2-5 *拓展实践,对比与思考
大爽Python入门公开课教案 点击查看教程总目录 本文偏难. 推荐等第一二三四章上完后,回过来拓展阅读. 基础情景思考 假设有这样一张成绩表 最左边的一列是名字,起名麻烦. 这里直接用ABC...来 ...
- 大爽Python入门教程 总目录
作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 大爽Python入门公开课教案 本篇博客为公开课教案目录,正文内容在目录章节链接的博客里 除目录本身外,没有链接的章节, ...
- 大爽Python入门教程 2-2 序列: 字符串、元组与列表
大爽Python入门公开课教案 点击查看教程总目录 序列 序列(sequence): 顾名思义,有序的排列. 有序排列的一串数据. 一种容器,容器内成员有序排列. python的字符串str,元组tu ...
- 大爽Python入门教程 2-3 字符串,列表,字典
大爽Python入门公开课教案 点击查看教程总目录 除了通用的序列方法, 列表和字符串还有些自己的专属方法. 后面介绍有些是英中文对照介绍(英文来自官方文档), 便于大家更深入的去理解其意思. 灵活的 ...
随机推荐
- Python3入门系列之-----算术运算符|比较运算符|赋值运算符|逻辑运算符|成员运算符|身份运算符
什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 1 +2 = 3 . 例子中,1 和 1.2 被称为操作数,"+" 称为运算符. Python语言支持以下类型的 ...
- Radius协议-学习
目录 RFC Radius 协议 Radius-学习 RADIUS协议的主要特征 客户端/服务器模式 安全的消息交互机制 良好的扩展性 AAA介绍 C/S结构 RADIUS在协议栈中的位置 RADIU ...
- Spring IOC Container原理解析
Spring Framework 之 IOC IOC.DI基础概念 关于IOC和DI大家都不陌生,我们直接上martin fowler的原文,里面已经有DI的例子和spring的使用示例 <In ...
- hdu3507 斜率优化学习笔记(斜率优化+dp)
QWQ菜的真实. 首先来看这个题. 很显然能得到一个朴素的\(dp\)柿子 \[dp[i]=max(dp[i],dp[j]+(sum[i]-sum[j])^2) \] 但是因为\(n\le 50000 ...
- 洛谷1429 平面最近点对(KDTree)
qwq(明明可以直接分治过掉的) 但是还是当作联系了 首先,对于这种点的题,很显然的套路,我们要维护一个子树\(mx[i],mn[i]\)分别表示每个维度的最大值和最小值 (这里有一个要注意的东西!就 ...
- css如何简单设置文字溢出盒子显示省略号
1.单行文本溢出显示省略号单行文本溢出显示省略号,必须满足三个条件:(1)先强制一行内显示文本white-space:nowrap;(默认 normal自动换行)(2)超出的部分隐藏overflow: ...
- 对cpu与load的理解及线上问题处理思路
cpu如何计算 当我们执行top命令的时候,看到里面的值(主要是cpu和load)值是一直在变的,因此有必要简单了解一下Linux系统中cpu的计算方式. cpu分为系统cpu和进程.线程cpu,系统 ...
- Android系统编程入门系列之应用权限的定义与申请
在之前关于应用内数据本地保存为文件时,曾提到应用需要申请外部存储设备的读写权限才能访问外部存储中的文件.那么针对某一种权限,应用程序具体应该怎么申请使用呢?本文将详细介绍. 应用中的权限主要分为两类, ...
- VS2019 及 Visual Assist X 安装配置
Visual Studio 2019 安装 下载 https://visualstudio.microsoft.com/zh-hans/downloads/ 安装 设置 扩大 Solution Con ...
- Java:泛型小记
Java:泛型小记 对 Java 中的 泛型类,做一个微不足道的小小小小记 泛型实现 概述 开篇: List<String> l1 = new ArrayList<String> ...