浅谈Python]程序的分支结构
作者:程序喵正在路上 发布时间:2022-05-03 07:27:45
单分支结构:if 语句
Python 中 if 语句的语法格式如下:
if <条件>:  
<语句块>
语句块是 if 条件满足后执行的一个或多个语句序列,语句块中语句通过与 if 所在行形成缩进表达包含关系。if 语句首先评估条件的结果值,如果结果为 True,则执行语句块中的语句序列,然后控制转向程序的下一条语句。 如果结果为 False,语句块中的语句会被跳过。
if 语句中语句块执行与否依赖于条件判断。但无论什么情况,控制都会转到 if 语句后与该语句同级别的下一条语句。
if 语句中条件部分可以使用任何能够产生 True 或 False 的语句或函数。形成判断条件最常见的方式是采用关系操作符。Python 语言共有 6 个关系操作符,包括 小于、小于或等于、大于或等于、大于、等于和不等于。
特别注意,Pybon 使用 “=” 表示赋值语句,使用 “==” 表示等于。
下面我们通过一个实例来更好地掌握 if 语句。
空气污染是当下社会比较关注的问题,PM2.5 是衡量空气污染的重要指标。PM2.5 是指大气中直径小于或等于 2.5 um的可入肺颗粒物。PM2.5 颗粒粒径小,含大量有毒、有害物质且在大气中停留时间长、输送距离远,因而对人体健康和大气环境质量有很大影响。目前空气质量等级以 PM2.5 数值划分为 6 级。PM2.5 数值在 0~35 空气质量为优,35~75 为良,75~115 为轻度污染,115~150 为中度污染,150~250 为重度污染,250~500 为严重污染。
一个简化版的空气质量标准采用 * 模式: 0~35 为优,35~75 为良,75 以上为污染。人们也许不关心 PM2.5 指数值具体为多少,而更关心空气质量到底怎样。计算机可以通过 PM2.5 指数分级发布空气质量提醒。
该问题的 IPO 描述如下:
输入:接收外部输入的 PM2.5 值
处理:   if PM2.5值 ≥ 275,打印空气污染警告   if 35 ≤ PM2.5 值 < 75,打印空气质量良,建议适度户外运动   if PM2.5 值 < 35,打印空气质量优,建议户外运动
输出:打印空气质量提醒
具体代码如下:
PM = eval(input("请输入 PM2.5 数值:"))
if 0 <= PM < 35:
print("空气优质,快去户外运动")
if 35 <= PM < 75:
print("空气良好,适度户外运动")
if 75 <= PM:
print("空气污染,请小心!")
上述例子展示了用数字进行条件比较的例子,字符或字符串也可以用于条件比较。字符串比较本质上是字符串对应Unicode编码的比较,因此,字符串的比较按照字典顺序进行。例如,英文大写字符对应的 Unicode 编码比小写字符小。以下是一些例子:
print(4 < 5)
True
print("python" == "python")
True
print("Python" > "python")
False
二分支结构:if-else 语句
Python 中 if-else 语句用来形成二分支结构,语法格式如下:
if <条件> :   
<语句块1>
else :   
<语句块2>
语句块 1 是在 if 条件满足后执行的一个或多个语句序列,语句块 2 是 if 条件不满足后执行的语句序列。
二分支语句用于区分条件的两种可能,即 True 或者 False,分别形成执行路径。
我们使用 if-else 语句 对前面例子的代码进行改进:
PM = eval(input("请输入 PM2.5 数值:"))
if PM >= 75:
print("空气存在污染,请小心!")
else:
print("空气没有污染,可以开展户外运动")
二分支结构还有一种更简洁的表达方式, 适合通过判断返回特定值,语法格式如下:
<表达式1> if <条件> else <表达式2>
其中,表达式 1/2 一般是数字类型或字符串类型的一个值, 此时代码可以改为:
PM = eval(input("请输入 PM2.5 数值:"))
print("空气{}污染!".format("存在" if PM >= 75 else "没有"))
if-else 的紧凑结构非常适合对特殊值处理的情况,其他例子如下:
count = 2
print(count if count != 0 else "不存在")
2
count = 0
print(coutn if count != 0 else "不存在")
不存在
多分支结构:if-elif-else 语句
Python 的 if-elif-else 描述多分支结构,语句格式如下:
if <条件1>:
  <语句块 1>
elif <条件2>:
  <语句块 2>
else:
  <语句块 N>
多分支结构是二分支结构的扩展,这种形式通常用于设置同一个判断条件的多条执行路径。
Python 依次评估寻找第一个结果为 True 的条件,执行该条件下的语句块,结束后跳过整个 if-elif-else 结构,执行后面的语句。如果没有任何条件成立,else 下面的语句块将被执行。else子句是可选的。
前面的例子通过多条独立的 if 语句对同一个变量 PM 进行判断,这种情况更适合多分支结构,改进后的代码如下:
PM = eval(input("请输入 PM2.5 数值:"))
if 0 <= PM < 35:
print("空气优质,快去户外运动!")
elif 35 <= PM < 75:
print("空气良好,适度户外运动")
else:
print("空气污染,请小心!")
来源:https://blog.csdn.net/weixin_62511863/article/details/124389339


猜你喜欢
- **问题描述:**有如下程序输出日志,计算程序运行时间,显示花费623分钟?start time:2019-03-15 19:45:31.2
- 第一步,下载依赖yarn add kindeditor第二步,建立kindeditor.vue组件<template> <
- 1.configparser介绍configparser是python自带的配置参数解析器。可以用于解析.config文件中的配置参数。in
- 前言接着上一篇的故事工厂模式继续,手机要出厂,显然光一个手机肯定是不行的,还需要包装盒、充电器等等东西。我们按照上一篇提到的工厂模式,去建立
- 本文实例为大家分享了python实现图像边缘检测的具体代码,供大家参考,具体内容如下任务描述背景边缘检测是数字图像处理领域的一个常用技术,被
- Tensorboard详解该类在存放在keras.callbacks模块中。拥有许多参数,主要的参数如下:1、log_dir: 用来保存Te
- 一.设置客户端网络实用工具点击“开始”-“程序”,在“Microsoft SQL Server”菜单中选择“客户端网络实用工具”。在“别名”
- 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子
- 环境:numpy,pandas,python3在机器学习和深度学习的过程中,对于处理预测,回归问题,有时候变量是时间,需要进行合适的转换处理
- Matplotlib简介Matplotlib是非常强大的python画图工具Matplotlib可以画图线图、散点图、等高线图、条形图、柱形
- <div style='display:none'> <script type="text/ja
- 本文实例为大家分享了opencv矿石图片检测矿石数量的具体代码,供大家参考,具体内容如下原始矿石图片此类图片是高躁图,二值化后图像如下采用膨
- 概述pydicom是一个常用python DICOM parser。但是,没有提供解析多帧图的示例。本文结合相关函数和DICOM知识做一个简
- 心血来潮写了个多线程抓妹子图,虽然代码还是有一些瑕疵,但是还是记录下来,分享给大家。Pic_downloader.py# -*- codin
- 先看伟大的高斯分布(Gaussian Distribution)的概率密度函数(probability density function):
- 有两种方法供参考.一种是实实在在的将图片先用ASPJPEG组件做成想要的尺寸,再读取好处是节省服务器带宽,速度快坏处是处理起来较为麻烦,并网
- 手写Vue服务端渲染概念:放在浏览器进行就是浏览器渲染,放在服务器进行就是服务器渲染。客户端渲染不利于 SEO 搜索引擎优化服务端渲染是可以
- 如果我们的语句为:IF NOT EXISTS(SELECT 1 FROM sys.views WHERE name='Report_
- 代码如下:ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。 /连接“网站
- 大家好,之前我们使用 WechatPCAPI 做了获取微信好友信息以及查看撤回消息,本文我们再使用 WechatPCAPI 来实现微信自动回