大爽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
  1. condition1为True,代表if判断成功,执行statement1

    (不进入后面的elif判断)。
  2. 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
  1. condition1为True,代表if判断成功,执行statement1

    (不进入后面的elif判断)。

    condition1为False,代表if判断不成功,进入下面第1个elif判断。
  2. condition2为True,代表第1个elif判断成功,执行statement2(不再进入后面的elif判断)。

    condition2为False,代表第1个elif判断不成功,进入下面第2个elif判断。
  3. condition3为True,代表第2个elif判断成功,执行statement3(不再进入后面的elif判断)。

    condition3为False,代表第2个elif判断不成功,进入下面第3个elif判断。
  4. 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的更多相关文章

  1. 大爽Python入门教程 3-3 循环:`for`、`while`

    大爽Python入门公开课教案 点击查看教程总目录 for循环 可迭代对象iterable 不同于其他语言. python的for循环只能用于遍历 可迭代对象iterable 的项. 即只支持以下语法 ...

  2. 大爽Python入门教程 3-4 实践例题

    大爽Python入门公开课教案 点击查看教程总目录 1. 求和 使用循环,计算列表所有项的和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, 11 ...

  3. 大爽Python入门教程 3-1 布尔值: True, False

    大爽Python入门公开课教案 点击查看教程总目录 1 布尔值介绍 从判断说起 回顾第一章介绍的简单的判断 >>> x = 10 >>> if x > 5: ...

  4. 大爽Python入门教程 3-5 习题

    大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...

  5. 大爽Python入门教程 3-6 答案

    大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...

  6. 大爽Python入门教程 2-5 *拓展实践,对比与思考

    大爽Python入门公开课教案 点击查看教程总目录 本文偏难. 推荐等第一二三四章上完后,回过来拓展阅读. 基础情景思考 假设有这样一张成绩表 最左边的一列是名字,起名麻烦. 这里直接用ABC...来 ...

  7. 大爽Python入门教程 总目录

    作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 大爽Python入门公开课教案 本篇博客为公开课教案目录,正文内容在目录章节链接的博客里 除目录本身外,没有链接的章节, ...

  8. 大爽Python入门教程 2-2 序列: 字符串、元组与列表

    大爽Python入门公开课教案 点击查看教程总目录 序列 序列(sequence): 顾名思义,有序的排列. 有序排列的一串数据. 一种容器,容器内成员有序排列. python的字符串str,元组tu ...

  9. 大爽Python入门教程 2-3 字符串,列表,字典

    大爽Python入门公开课教案 点击查看教程总目录 除了通用的序列方法, 列表和字符串还有些自己的专属方法. 后面介绍有些是英中文对照介绍(英文来自官方文档), 便于大家更深入的去理解其意思. 灵活的 ...

随机推荐

  1. 【月光宝盒get√】用时间置换空间,聊聊稀疏数组的那些事儿

    背景 数据结构是指带有结构特性的数据元素的集合.在数据结构中,数据之间通过一定的组织结构关联在一起,便于计算机存储和使用.从大类划分,数据结构可以分为线性结构和非线性结构,适用于不同的应用场景. 线性 ...

  2. bash是什么?

    bash shell就是一个bash程序 ​ --解释器,启动器 ​ --解释器: ​ 用户交互输入 如vim 文本文件输入 脚本本质: !/bin/bash !/usr/bin/python 读取方 ...

  3. css超出隐藏显示省略号怎么设置?

    当我们在进行网页前端开发的时候,一般获取文章标题,然后一行一行的显示.但是当标题过长的时候,就会造成换行显示.还有显示部分文本信息时,如果全部显示就过于繁琐,会带来不会的网页体验感.虽然我们可以使用o ...

  4. 【c++ Prime 学习笔记】目录索引

    第1章 开始 第Ⅰ部分 C++基础 第2章 变量和基本类型 第3章 字符串.向量和数组 第4章 表达式 第5章 语句 第6章 函数 第7章 类 第 Ⅱ 部分 C++标准库 第8章 IO库 第9章 顺序 ...

  5. Github Actions 实践

    Github Actions 实践 Github Actions 是 Github 的持续集成服务,通过在 repo 发生特定的行为时执行指定的命令实现自动测试.自动部署等功能. 基本术语 workf ...

  6. no_code团队介绍和bingduoduo项目采访

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求 团队作业-团队介绍和采访 成员简介 name avatar intro PM Dev Test UI/Front-End 伦泽标 ...

  7. PromQL的简单使用

    PromQL的简单使用 一.背景 二.PromQL的数据类型 三.字面量 1.字符串字面量 2.浮点数字面量 四.时间序列选择器 1.即时向量选择器 1.组成部分 2.指标名称和匹配器的组合 3.匹配 ...

  8. Spring Cloud Alibaba整合Sentinel

    Spring Cloud Alibaba 整合 Sentinel 一.需求 二.实现步骤 1.下载 sentinel dashboard 2.服务提供者和消费者引入sentinel依赖 3.配置控制台 ...

  9. gson中TypeAdapter实现自定义序列化操作

    最近在项目中遇到这么一个问题,我们后台需要向前端返回一个 json 数据,就是将一个地理位置对象以json的格式返回到前台,但是这个地理位置对象中的经纬度是Double数据类型,项目中规定,如果经纬度 ...

  10. MD支持程度测试

    Editor.md 目录 (Table of Contents) [TOCM] 目录 Editor.md Heading 1 Heading 2 Heading 3 Heading 4 Heading ...