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

2023-11-04

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 结构。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 基础篇 day 4 选择结构—— if 结构 的相关文章

随机推荐

  • Vijava 学习笔记之(VirtualMachineRelocateSpec类)

    VirtualMachineRelocateSpec 移动或复制指定虚拟机 使用不同的DataStore或HostSystem Properties NAME TYPE DESCRIPTION datastore ManagedObject
  • GDI+绘制的一个Report Designer原型

    早上看到Pvistely同学在说设计器编程的一些问题 想起来我也曾使用GDI 做过一个报表设计器的原型 刚才翻到了代码 居然已经是整整一年前的东西了 时间过的可真是快啊 当时产品里计划要提供可视化报表设计功能 于是part time了两个周
  • AD620放大器 AD623放大器 仪表放大器 差分放大器 微弱信号放大 原理图和PCB设计

    AD620放大器 AD623放大器 仪表放大器 差分放大器 微弱信号放大 原理图和PCB设计 目录 AD620放大器 AD623放大器 仪表放大器 差分放大器 微弱信号放大 原理图和PCB设计 基本原理 芯片选型 原理图 3D PCB 具体
  • getBoundingClientRect offsetWidth offsetHeight

    对于一个旋转的dom元素 getBoundingClientRect 得到的width height是外接矩形的宽高 offsetWidth offsetHeight是未旋转前dom的宽高
  • 【开发实践】美团为什么开发 Kylin On Druid(下)?

    前言 在上篇文章里 我们比较了 Kylin 和 Druid 这两个重要的 OLAP引擎的特点 也分析了 Kylin on HBase 的不足 得出了使用 Druid 代替 HBase 作为 Kylin 存储的方案 最后介绍了美团开发的 Ky
  • 【C++】vector类的使用和模拟实现和如何解决迭代器失效的问题

    1 vector的介绍 vector文档介绍 vector是表示可变大小数组的序列容器 就像数组一样 vector也采用的连续存储空间来存储元素 也就是意味着可以采用下标对vector的元素进行访问 和数组一样高效 但是又不像数组 它的大小
  • windows缺少msvcp120.dll解决方案

    安装最新的Microsoft Visual C Redistributable Package 该错误标识MSVCR120 dll文件的问题 该文件属于Visual C Redistributable Package 可以通过从官方网站重新
  • 【C++11新特性】auto、范围for语句、nullptr

    文章目录 1 auto 2 范围for语句 2 1 遍历数组 2 2 遍历字符串 2 3 遍历STL容器 3 nullptr 1 auto auto 可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型 也就是说 声明时必须要
  • jenkins war版的在Linux下的安装与卸载

    文章目录 目录 文章目录 前言 一 安装 二 卸载 总结 前言 Jenkins是一个开源软件项目 是基于Java开发的一种持续集成工具 用于监控持续重复的工作 集成 该软件可以集成其他软件 来完成相应的功能 一 安装 因为jenkins本身
  • 【实习】vue input下拉及搜索功能

    一个需求input实现下拉及搜索 实习练手不让用ui模板 首先百度得出2种方法 一个是input select 一个是input datalist input组合select改css写js 最后bug太多放弃了 input datalist
  • 突破神奇的Cloudflare防火墙

    背景 最近碰到一个神奇的网站 在浏览器可以打开 但是通过 curl 或者 代码访问就直接 403 我估摸着这肯定是做了UA校验 于是请求的时候把浏览器的 UA 给带上 然后访问发现还是 403 不过这也难不倒我 肯定是还有校验其它的请求头
  • 双线性卷积神经网络_全卷积网络Fully Convolutional Networks (FCN)实战

    全卷积网络Fully Convolutional Networks FCN 实战 使用图像中的每个像素进行类别预测的语义分割 全卷积网络 FCN 使用卷积神经网络将图像像素转换为像素类别 与之前介绍的卷积神经网络不同 FCN通过转置卷积层将
  • MOS管烧毁,90%以上的硬件工程师都会遇到的问题!

    MOS管烧毁 我相信90 以上的硬件工程师在职场生涯中都会遇到这类问题 然而这类问题也总是让人防不胜防 那么今天小白就给大家讲解一下MOS管烧毁的几个常见原因 在讲解前 小白给大家画一下MOS管的等效模型 以我最熟悉的N MOS管举例 给大
  • Thinkphp6.0框架远程调试配置

    首先需要安装think socketlog扩展 composer require topthink think socketlog 只需要在log php配置文件中加入如下配置 默认日志记录通道 记得在env中配置参数 default gt
  • type-aliases-package的用法

    type aliases package作用 在Mybatis的mapper xml文件中resultType的type或者paramterType会返回自定义entity 此时可以用全类名名来指定这些实体 举例
  • facechain环境部署

    环境安装 创建虚拟环境facechain conda create n facechain python 3 8 conda activate facechain 克隆 GIT LFS SKIP SMUDGE 1 git clone htt
  • SpringBoot入门篇--对于JSON数据的返回以及处理一

    在后台的开发过程中不可避免的就是一系列对JSON数据的返回 需要我们进行的就是提供各种各样的数据 一般情况下数据类型最常用的就是JSON以及XML 在这里我们就讲讲在SpringBoot里面我们怎样进行JSON数据的返回以及数据一些特殊情况
  • Ubuntu18.04安装indicator-sysmonitor显示实时网速

    系统环境 Ubuntu18 04 6 LTS 1 添加源 sudo add apt repository ppa fossfreedom indicator sysmonitor 2 更新源 sudo apt get update 3 安装
  • 最长公共子序列(输出公共序列)

    给出两个字符串A B 求A与B的最长公共子序列 子序列不要求是连续的 比如两个串为 abcicba abdkscab ab是两个串的子序列 abc也是 abca也是 其中abca是这两个字符串最长的子序列 Input 第1行 字符串A 第2
  • python 基础篇 day 4 选择结构—— if 结构

    文章目录 if 基础结构 单 if 语句 if else 语句 if elif else 语句 嵌套的 if 语句 if 进阶用法 使用比较运算符 使用逻辑运算符 使用 in 关键字 range 函数 使用 is 关键字 使用 pass 语