大爽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入门公开课教案 点击查看教程总目录 除了通用的序列方法, 列表和字符串还有些自己的专属方法. 后面介绍有些是英中文对照介绍(英文来自官方文档), 便于大家更深入的去理解其意思. 灵活的 ...
随机推荐
- 【月光宝盒get√】用时间置换空间,聊聊稀疏数组的那些事儿
背景 数据结构是指带有结构特性的数据元素的集合.在数据结构中,数据之间通过一定的组织结构关联在一起,便于计算机存储和使用.从大类划分,数据结构可以分为线性结构和非线性结构,适用于不同的应用场景. 线性 ...
- bash是什么?
bash shell就是一个bash程序 --解释器,启动器 --解释器: 用户交互输入 如vim 文本文件输入 脚本本质: !/bin/bash !/usr/bin/python 读取方 ...
- css超出隐藏显示省略号怎么设置?
当我们在进行网页前端开发的时候,一般获取文章标题,然后一行一行的显示.但是当标题过长的时候,就会造成换行显示.还有显示部分文本信息时,如果全部显示就过于繁琐,会带来不会的网页体验感.虽然我们可以使用o ...
- 【c++ Prime 学习笔记】目录索引
第1章 开始 第Ⅰ部分 C++基础 第2章 变量和基本类型 第3章 字符串.向量和数组 第4章 表达式 第5章 语句 第6章 函数 第7章 类 第 Ⅱ 部分 C++标准库 第8章 IO库 第9章 顺序 ...
- Github Actions 实践
Github Actions 实践 Github Actions 是 Github 的持续集成服务,通过在 repo 发生特定的行为时执行指定的命令实现自动测试.自动部署等功能. 基本术语 workf ...
- no_code团队介绍和bingduoduo项目采访
项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求 团队作业-团队介绍和采访 成员简介 name avatar intro PM Dev Test UI/Front-End 伦泽标 ...
- PromQL的简单使用
PromQL的简单使用 一.背景 二.PromQL的数据类型 三.字面量 1.字符串字面量 2.浮点数字面量 四.时间序列选择器 1.即时向量选择器 1.组成部分 2.指标名称和匹配器的组合 3.匹配 ...
- Spring Cloud Alibaba整合Sentinel
Spring Cloud Alibaba 整合 Sentinel 一.需求 二.实现步骤 1.下载 sentinel dashboard 2.服务提供者和消费者引入sentinel依赖 3.配置控制台 ...
- gson中TypeAdapter实现自定义序列化操作
最近在项目中遇到这么一个问题,我们后台需要向前端返回一个 json 数据,就是将一个地理位置对象以json的格式返回到前台,但是这个地理位置对象中的经纬度是Double数据类型,项目中规定,如果经纬度 ...
- MD支持程度测试
Editor.md 目录 (Table of Contents) [TOCM] 目录 Editor.md Heading 1 Heading 2 Heading 3 Heading 4 Heading ...