python 基础篇 day 4 选择结构—— if 结构

文章目录

  • if 基础结构
      • 单 if 语句
      • if-else 语句
      • if-elif-else 语句
      • 嵌套的 if 语句
  • if 进阶用法
      • 使用比较运算符
      • 使用逻辑运算符
      • 使用 in 关键字
      • range() 函数
      • 使用 is 关键字
      • 使用 pass 语句
  • 三目运算符
      • 语法
      • 例子
      • 注意
      • 补充
          • 举例
          • 注意

if 基础结构

单 if 语句

if 条件:
执行条件为真时的代码块

当条件为真时,执行相应的代码块。

if-else 语句

if 条件:
# 执行条件为真时的代码块
else:
# 执行条件为假时的代码块

当条件为真时,执行第一个代码块;当条件为假时,执行第二个代码块。

if-elif-else 语句

if 条件1:
# 执行条件1为真时的代码块
elif 条件2:
# 执行条件2为真时的代码块
elif 条件3:
# 执行条件3为真时的代码块

else:
# 执行以上条件都不满足时的代码块

当条件1为真时,执行第一个代码块;否则,继续检查条件2。如果条件2为真,则执行第二个代码块;以此类推。如果所有条件都不满足,则执行 else 代码块。

嵌套的 if 语句

if 条件1:# 执行条件1为真时的代码块if 条件2:# 执行条件1和条件2同时满足时的代码块else:# 执行条件1为真而条件2不满足时的代码块
else:# 执行条件1不满足时的代码块

可以在一个 if 代码块内嵌套另一个 if 语句,用于处理更复杂的条件逻辑。

if 进阶用法

使用比较运算符

if a == b:
# 当 a 等于 b 时执行的代码块

if a != b:
# 当 a 不等于 b 时执行的代码块

if a > b:
# 当 a 大于 b 时执行的代码块

if a < b:
# 当 a 小于 b 时执行的代码块

if a >= b:
# 当 a 大于等于 b 时执行的代码块

if a <= b:
# 当 a 小于等于 b 时执行的代码块

比较运算符用于在条件语句中比较两个值的大小关系。

使用逻辑运算符

if 条件1 and 条件2:
# 当条件1和条件2同时满足时执行的代码块

if 条件1 or 条件2:
# 当条件1或条件2之一满足时执行的代码块

if not 条件:
# 当条件不满足时执行的代码块

逻辑运算符用于组合多个条件,进行复合条件判断。

使用 in 关键字

if 元素 in 可迭代对象:
# 当元素存在于可迭代对象中时执行的代码块

in 关键字用于检查一个元素是否存在于可迭代对象中,常常配合range使用

常见可迭代对象:列表(List),元组(Tuple),range 对象等

range() 是 Python 内置的一个函数,用于生成指定范围的整数序列。它常用于循环结构中,例如 for 循环,以便按照指定的起始值、终止值和步长来迭代生成整数。

range() 函数

range(start, stop, step)

参数说明:

start:可选,表示序列的起始值,默认为 0。
stop:必需,表示序列的终止值(不包含在序列中)。
step:可选,表示步长(默认为1)。步长可以是正整数、负整数或零。

range() 函数返回一个表示整数序列的可迭代对象,可以通过遍历该可迭代对象获取序列中的每个元素。

示例:

 #  生成从 0 到 4 的整数序列
for num in range(5):print(num)  # 输出:0, 1, 2, 3, 4#  生成从 2 到 9(不包含 9)的整数序列,步长为 3
for num in range(2, 9, 3):print(num)  # 输出:2, 5, 8#  生成递减的整数序列,从 10 到 1(不包含 1)
for num in range(10, 1, -1):print(num)  # 输出:10, 9, 8, 7, 6, 5, 4, 3, 2

需要注意的是,range() 函数生成的序列不包含终止值。如果需要包含终止值,可以在循环中使用 stop + 1 或者转换为列表等其他数据结构。

使用 is 关键字

is 关键字用于检查两个对象是否引用同一个内存地址。

if 对象 is None:# 当对象为 None 时执行的代码块

使用 pass 语句

if 条件:pass

pass 语句什么也不做,通常用作占位符,表示后续需要添加代码。

三目运算符

Python 的三目运算符一种简洁的条件表达式,也称为条件运算符

语法

[如果满足条件时返回的值] if [条件] else [如果条件不满足时返回的值]

其中,[条件] 是一个可以求值为布尔值的表达式。如果该条件为真,则返回 [如果满足条件时返回的值];否则返回 [如果条件不满足时返回的值]。

例子

x = 10
result = "正数" if x > 0 else "非正数"
print(result)  # 输出:正数

在上面的例子中,如果 x 大于 0,那么 “正数” 将被赋值给 result;否则,“非正数” 将被赋值给 result。

注意

使用三目运算符可以简化代码,特别适用于简单的条件判断场景。但要注意,过度使用可能导致代码难以理解。

补充

Python 中没有官方支持的四目运算符。三目运算符是 Python 中唯一条件表达式。它可以在一个表达式中根据条件选择返回不同的值。

四目运算符不是 Python 内置的语法,但你可以使用其他方式来实现其功能。
一种常见的方法是使用嵌套的三目运算符来模拟四目运算符

举例
x = 10
result = "正数" if x > 0 else ("零" if x == 0 else "负数")
print(result)  # 输出:正数

在上面的例子中,我们使用嵌套的三目运算符来实现一个四目运算符的效果。首先判断 x > 0,如果为真,则返回 “正数”;否则继续判断 x ==
0,如果为真,则返回 “零”;否则返回 “负数”。

注意

虽然这种方式可以实现类似于四目运算符的功能,但嵌套的三目运算符容易造成代码难以理解和调试。因此,在实际编程中,推荐使用更清晰和易于理解的方式来表达条件判断逻辑,如使用
if…elif…else 结构。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/51093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海思Hi3861L开发三-新建自定义项目

一、简介 上一篇文章,介绍了如何下载安装SDK,并且编译和下载。但都是基于SDK原生提供的demo。那本节我们就来介绍一下,如果创建一个自己的项目。 二、新建目录结构 先看SDK提供的目录结构,如下图: 因为是基于应用的开发,所以我们只关注app这个文件夹。可以看到…

【vue2】前端实现下载后端返回的application/octet-stream文件流

1、下载csv/txt时 此时无须修改接口的响应格式 let filenameRegex /filename[^;\n]*((["]).*?\2|[^;\n]*)/; let matches filenameRegex.exec(data.headers[content-disposition]); let blob new Blob([\uFEFF data.data], {//目前只有csv格式type: text/csv;charse…

纠缠辅助的量子网络:原理、技术、发展与挑战

7月11日&#xff0c;中国科大网络空间安全学院和陆军院士工作室李忠辉博士为第一作者、薛开平教授为通讯作者的量子网络综述论文“Entanglement-Assisted Quantum Networks: Mechanics, Enabling Technologies, Challenges, and Research Directions”在通信领域知名期刊《IEEE…

Ext JS 之Microloader(微加载器)

“Microloader”是 Sencha 数据驱动的 JavaScript 和 CSS 动态加载器的名称。 清单 app.json 用于应用的设置,Sencha Cmd 在构建的时候会读取这个文件。 Sencha Cmd 转换“app.json”的内容并将生成的清单传递给 Microloader 以在运行时使用。 最后,Ext JS 本身也会查阅运…

什么是cssreset ?为什么要用到cssreset?

1&#xff0c;什么是cssreset ? 顾名思义&#xff0c;css reset&#xff0c;样式重置。即重新设置界面的样式。 CSS reset&#xff0c;又叫做 CSS 重写或者 CSS 重置&#xff0c;用于改写HTML标签的默认样式。 有些HTML标签在浏览器里有默认的样式&#xff0c;例如 p 标签有上…

c++学习之内存管理

目录 1.c/c内存分布 2.new与delete/malloc与free c内存管理方式&#xff1a; new/delete操作内置类型&#xff1a; new/delete操作自定义类型 operator new与operator delete函数 new和delete的实现原理 内置类型 自定义类型 malloc/free和new/delete的区别 1.c/c内存分…

音视频 ffplay命令-高级选项

选项说明-stats打印多个回放统计信息&#xff0c;包括显示流持续时间&#xff0c;编解码器参数&#xff0c;流中的当前位置&#xff0c;以及音频/视频同步差值。默认情况下处于启用状态&#xff0c;要显式禁用它则需要指定-nostats-fast非标准化规范的多媒体兼容优化-genpts生成…

iPhone 14 Pro 动态岛的功能和使用方法详解

当iPhone 14 Pro机型发布时,苹果公司将软件功能与屏幕顶部的药丸状切口创新集成,称之为“灵动岛”,这让许多人感到惊讶。这篇文章解释了它的功能、工作原理,以及你如何与它互动以执行动作。 一、什么是灵动岛?它是如何工作的 在谣言周期的早期‌iPhone 14 Pro‌ 在宣布时…

js 模块 简单实验

1.代码 1.1 t2.js var year "test"; export { year }; 1.2 t1.js import { year } from ./t2.jsalert(year); 1.3 t.html <script type"module" src"./t1.js"></script> 2.运行结果

我们在选择服务器的时候,经常会看到单线服务器,多线服务器和BGP服务器,那这些线路的服务器有存在哪些不同呢?

我们在选择服务器的时候&#xff0c;经常会看到单线服务器&#xff0c;多线服务器和BGP服务器&#xff0c;那这些线路的服务器有存在哪些不同呢&#xff1f; 单线 所谓的单线服务器是单网卡单个IP&#xff0c;指只有电信、联通或者移动一条线路。 缺点&#xff1a;由于线路单一…

边缘计算节点BEC典型实践:如何快速上手PC-Farm服务器?

百度智能云边缘计算节点BEC&#xff08;Baidu Edge Computing&#xff09;基于运营商边缘节点和网络构建&#xff0c;一站式提供靠近终端用户的弹性计算资源。边缘计算节点在海外覆盖五大洲&#xff0c;在国内覆盖全国七大区、三大运营商。BEC通过就近计算和处理&#xff0c;大…

rust actix-web定义中间件(middleware)记录接口耗时(接口耗时中间件和鉴权中间件)

文章目录 Actix-web定义中间件(middleware)记录接口耗时中间件简介中间件添加的两种方式&#xff08;接口耗时中间件&#xff09;使用wrap_fn 闭包实现使用warp struct实现中间件调用顺序actix自带的接口耗时中间件 鉴权中间件 Actix-web定义中间件(middleware)记录接口耗时 …

在linux和redhat企业版本中使用yum history回滚更新包

在redhat和linux中使用yum回滚更新 不推荐对系统进行小版本降级&#xff08;如将 RHEL6.1 降到 RHEL6.0&#xff09;&#xff0c;因为在这种降级中&#xff0c;libgcc和其他库不会按预期回滚&#xff0c;系统将处于“broken state”。想要进行少量更新的回滚&#xff0c;可以用…

css-grid使用

文章目录 grid概念容器和项目网格轨道&#xff1a;网格单元网格线 使用分配item空间大小对于子元素的意义 行列指定隐式和显示网格默认排列 grid容器属性grid-template-rows: 100px 100px 200px;grid-template-columns: 100px 100px 100px;grid-auto-rows: 200pxgrid-column-ga…

性能测试工具Jmeter你所不知道的内幕

谈到性能测试&#xff0c;大家一定会联想到Jmeter和LoadRunner,这两款工具目前在国内使用的相当广泛&#xff0c;主要原因是Jmeter是开源免费&#xff0c;LoadRunner 11在现网中存在破解版本。商用型性能测试工具对于中小型企业很难承担相关的费用。国内的性能测试工具有&#…

solidity0.8.0的应用案例11:透明代理合约

选择器冲突 智能合约中,函数选择器(selector)是函数签名的哈希的前4个字节。例如mint(address account)的选择器为bytes4(keccak256("mint(address)")),也就是0x6a627842. 由于函数选择器仅有4个字节,范围很小,因此两个不同的函数可能会有相同的选择器,例如…

使用Nodejs创建简单的HTTP服务器,借助内网穿透工具实现公网访问的方法分享

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

如何处理MySQL自增ID用完

​ 检查当前自增ID的最大值&#xff1a;你可以使用以下SQL查询语句来获取当前最大的自增ID值&#xff1a; SELECT MAX(id) FROM your_table;假设你的表名为 your_table 和自增ID列名为 id。 确定使用的自增ID类型&#xff1a;根据当前最大值来判断你使用的自增ID类型。如果当前…

【LeetCode75】第三十二题 链表最大孪生和

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目让我们求出链表的最大孪生和&#xff0c;那么什么是孪生和呢&#xff0c;就是对称的节点就是孪生节点&#xff0c;他们的和就是孪生和。 比如第一个节点的孪生节点就是最后一个节点&#xff0c;第二个节点的孪生节点…

在Ubuntu上安装和设置RabbitMQ服务器,轻松实现外部远程访问

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…