第八节 判断语句If Statements

  • 前言
  • 实践

前言

有了基本的数据类型处理知识,我们便可以编写一些简单的程序。在编程过程中,我们往往需要对一些条件加以判断,若满足其条件,则执行下面对应的代码,如果不满足,就跳过该代码段,去执行其余代码段,这种流程被称为条件判断,具体流程如下图所示:

一般的条件判断语句的结构如下:

if 条件1:代码段1
elif 条件2:代码段2
......
else:代码段n

也即先判断条件1,若满足则执行代码段1并跳出整个判断语句,否则判断条件2,若满足则执行代码段2并跳出整个判断语句,否则判断条件3……,若都不满足则执行代码段n。也即代码段1至代码段n只有一个会被执行。

实践

我们以用户年龄为例来讲解条件判断语句。首先从键盘获取输入作为用户的年龄:

age = int(input("How old are you?: "))

注意这里需要将类型转换为int型,否则input()返回为字符串,无法执行大小比较的运算。有了输入,我们来判断age的值是否大于等于18,若满足则返回你是成年人,如果不满足则返回你是小孩:

if age >= 18:print("You are an adult!")
else:print("You are a child!")

我们在此基础上可以添加elif语句进行更多的条件判断,比如输入年龄小于0,那么返回你还没有出生呢:

elif age < 0:print("You haven't been born yet!")

如果你年龄正好是100岁,那就返回你一百岁了:

elif age == 100:print("You are a century old!")

我们将这里的代码汇总一下:

age = int(input("How old are you?: "))
if age >= 18:print("You are an adult!")
elif age == 100:print("You are a century old!")
elif age < 0:print("You haven't been born yet!")
else:print("You are a child!")
>>> How old are you?: 21
>>> You are an adult!
>>> How old are you?: -1
>>> You haven't been born yet!
>>> How old are you?: 12
>>> You are a child!
>>> How old are you?: 100
>>> You are an adult!

不难发现最后一个输出和我们的预期不一样,这是因为age=100先去执行if里面的判断,满足条件就执行if下面的代码段并跳出条件判断代码段,不会执行elif age == 100:里面的内容,我们对代码略加修改使其输出符合预期:

age = int(input("How old are you?: "))
if age == 100:print("You are a century old!")
elif age >= 18:print("You are an adult!")
elif age < 0:print("You haven't been born yet!")
else:print("You are a child!")
>>> How old are you?: 100
>>> You are a century old!

可见此时代码执行一切正常,所以我们编程时从上到下的条件约束应该是被包含(或互斥)关系,也即条件1包含于条件2包含于条件n,这样子代码的执行结果才会符合预期。

以上便是判断语句的全部内容,感谢大家的收藏、点赞、评论。我们下一节将介绍逻辑运算(Logical Operators),敬请期待~

Python编程基础:第八节 判断语句If Statements相关推荐

  1. python编程基础(四):if 语句 增强程序鲁棒性

    一. 条件测试 1.判断相等:  == 2.使用 and 判断多个条件:  条件均为 true 的时候,才是 true 类似于 &&  与 3.使用 or 判断多个条件:  条件有一个 ...

  2. python 动态执行条件判断_【人生苦短,我学 Python】基础篇——条件判断与循环语句(Day12)_不积跬步,无以至千里!-CSDN博客...

    原文作者:AI 菌 原文标题:[人生苦短,我学 Python]基础篇--条件判断与循环语句(Day12) 发布时间:2021-02-08 23:17:06 写在前面:大家好!我是[AI 菌],一枚爱弹 ...

  3. python 科学计算基础教程电子版-自学Python 编程基础、科学计算及数据分析

    自学Python 编程基础.科学计算及数据分析 epub pdf mobi txt 下载 自学Python 编程基础.科学计算及数据分析 epub pdf mobi txt 下载 ☆☆☆☆☆ 李金 著 ...

  4. python编程基础与应用-Python程序设计基础与应用

    图书简介 配套资源:部分全彩印刷.电子课件.教学大纲.习题答案.源代码 本书特色: ★知名Python教育者董付国老师新作. ★言简意赅,案例丰富,配套资源超全部分内容全彩呈现. ★本书全部代码适用于 ...

  5. 【不会吧不会吧,不会有人真的三分钟入门Python了吧?】Python编程基础

    python编程基础 变量 字符串 字符串是Python中最常用的数据类型.我们可以使用引号('或者")来创建字符串. string = 'hello world.' name = &quo ...

  6. python编程入门与案例详解-自学Python 编程基础、科学计算及数据分析

    自学Python 编程基础.科学计算及数据分析 epub pdf mobi txt 下载 自学Python 编程基础.科学计算及数据分析 epub pdf mobi txt 下载 ☆☆☆☆☆ 李金 著 ...

  7. 【Python语言】Python编程基础

    Python编程基础 一.简介 1.Python解释器 2.特点 (1)语法简洁 (2)与平台无关 (3)粘性扩展 (4)开源理念 (5)通用灵活 (6)强制可读 (7)支持中文 (8)模式多样 (9 ...

  8. 1 python编程基础学习

    1 python编程基础学习 1. 程序 2 python简介(了解) 3 python的开发环境的搭建 4 第一个python程序 4.1 常用的dos命令 4.2 交互式 4.3 使用pychar ...

  9. 南开大学python编程基础_[南开大学]20春学期《Python编程基础》在线作业(答案100分)...

    [奥鹏]-[南开大学]20春学期(1709.1803.1809.1903.1909.2003)<Python编程基础>在线作业 试卷总分:100    得分:100 第1题,已知" ...

最新文章

  1. redis一般缓存什么样数据_门户数据展示_Redis缓存数据
  2. 50.什么是内部碎片?什么是外部碎片?
  3. 实用VUE 开发插件!!前端必备
  4. Hibernate---对象的三种状态
  5. shoot for用法
  6. 智能工单处理,达观数据助力运营商实现业务流程智能化改造
  7. c语言磁盘文件只有写没读,C语言的磁盘文件问题
  8. Poi操作Excel
  9. android优美列表页面,android listview 列表 点击列表进入详细页面
  10. python调用usb摄像头黑屏_ORB-SLAM2编译安装和USB摄像头例程运行
  11. 解决Spring Boot集成Shiro,配置类使用Autowired无法注入Bean问题
  12. 【备战NOIP】[算法总结] 二分查找
  13. qt 对话框位置如何确定_便利店如何确定收银台位置?
  14. 计算机c盘如何扩大,电脑c盘怎么扩大
  15. 31篇文章!计算机视觉从原理到OpenCv实战
  16. Atitit 重大问题解决法---记不住问题的解决 目录 1. 记不住的原因 1 2. 大脑存储内容分布 2 2.1. Jvm的存储机制 2 2.2. 人的存储机制 2 2.2.1. 图片区视觉区
  17. 瑞友天翼建文件服务器,瑞友天翼简明使用手册
  18. LateX安装下载使用详细教程
  19. USB 3.0 知道
  20. 哈哈,原来这叫做“松鼠症”……并谈谈我建议的学习方法

热门文章

  1. 单例模式可以分为懒汉式和饿汉式:     懒汉式单例模式:在类加载时不初始化。     饿汉式单例模式:在类加载时就完成了初始化,所以类加载比较慢,但获取对象的速度快。
  2. PAT甲级1072 Gas Station (30 分):[C++题解]dijkstra算法、最短路
  3. Leetcode861翻转矩阵后的得分(C++题解):贪心
  4. docker 推送到本地仓库_Docker_学习笔记系列之仓库
  5. splice方法_[7000字]JavaScript数组所有方法基础总结
  6. python泰勒展开_如何利用sympy对未知函数$f(x)$进行符号泰勒展开
  7. firefox如何载入json文件_如何去解决JS跨域问题 怎么能学好Web前端开发
  8. java深度优先迷宫生成_通过深度优先搜索产生的迷宫的Java代码
  9. mysql 唯一索引 性能_普通索引和唯一索引的区别、性能差异,以及其他索引简介...
  10. Qt中的QPushButton组件