Python全栈自动化测试-Python基础07--分支结构if

目录

前言

一、单项分支

二、双向分支

三、多向分支

四、巢状分支(嵌套分支)

五、if中的判断条件

1.条件--固定值

2.条件--运算符

总结


前言

在Python编程中,分支结构是一种至关重要的控制流机制,它允许程序根据特定条件执行不同的代码块。其中,if语句是实现分支结构的主要方式。通过if语句,可以根据条件表达式的真假值来决定程序的执行路径,从而实现对不同情况的灵活处理。无论是在简单的数据处理任务中,还是在复杂的算法实现中,if语句都发挥着不可替代的作用。本文将介绍Python中分支结构if(单项分支,双项分支,多项分支和巢状分支)的用法和技巧。


一、单项分支

执行逻辑:
    首先判断条件,如果条件结果为True,则执行功能代码块;
    如果条件为Fasle,不会进入if,直接跳出if,执行后续其他代码。
注意点:
    if是关键字,条件后面的冒号不能省略
    if下面的功能代码块一定要有缩进,并且同级别代码块缩进一致。

"""
语法结构:
if 条件(True、False):逻辑代码A(希望如果条件满足的话,会执行的代码)逻辑代码B逻辑代码C
注:如果条件不满足,那么则不执行if子级的逻辑代码示例:
如果今天可能下雨,我就待在家里面
"""name = input("是否下雨(是/否):")
if name == "是":print("待在家里")print("此处可以省略无数的代码")print("此处是和if同级别的代码")>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
输入是否下雨(是/否):是
待在家里
此处可以省略无数的代码
此处是和if同级别的代码>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
输入是否下雨(是/否):否
此处是和if同级别的代码

二、双向分支

执行逻辑:
    首先判断条件,如果条件结果为True,则执行功能1代码;
    如果条件结果为Fasle,执行功能2。
注意点:
    if,else是关键字,条件和else后面的冒号不能省略
    if,else下面的功能代码块一定要有缩进,并且同级别代码块缩进一致。

"""
语法结构:
if 条件:逻辑代码块A
else:逻辑代码块B
只要不满足if的判断条件,都会走else(报错除外),if和else只能执行一个示例:
如果今天下雨,那么我就待在家里面,否则的话,我就出去玩
"""
name = input("是否下雨(是/否):")
if name == "是":print("待在家里面")
else:print("出去玩")>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
是否下雨(是/否):是
待在家里面>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
是否下雨(是/否):否
出去玩>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
是否下雨(是/否):啦啦啦(非是的任意输入)
出去玩

三、多向分支

执行逻辑:
  首先判断条件1,如果条件1结果为True,则执行逻辑代码A,执行完成后跳出整个if判断;
  如果条件1结果为False,则再判断条件2,如果条件2结果为True,则执行逻辑代码B,执行完成后跳出整个if判断;
  如果条件2结果为False,则再判断条件3,如果条件3结果为True,则执行逻辑代码C,执行完成后跳出整个if判断;
  如果所有条件都为假,则执行else下的功能N
注意点:
  if,elif,else是关键字,条件和else后面的冒号不能省略
  elif和if后面都必须带条件,else后面一定不能带条件
  if,elif,else下面的功能代码块一定要有缩进,并且同级别代码块缩进一致

"""
语法结构:
if 条件1:逻辑代码A
elif 条件2:逻辑代码B
elif 条件3:逻辑代码C... ...else: 逻辑代码N注:else -- 如果以上条件都不满足,那么你还希望他执行什么代码,就用else;他们只要满足一个条件,就不会再去执行其他的条件(循环除外)示例:旅游的时候,购票
免票: 60岁以上,3岁以下
成人票: 12 - 59 
儿童票:4 - 11
"""age = int(input("请输入您的年龄:"))
if age >= 60 or age <= 3:print("免票人群,无需购票")elif 12 <= age <= 59:print("成人票,请全价购买")else:print("儿童票,请半价购买")>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
请输入您的年龄:61
免票人群,无需购票
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
请输入您的年龄:2
免票人群,无需购票
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
请输入您的年龄:18
成人票,请全价购买
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
请输入您的年龄:5
儿童票,请半价购买

四、巢状分支(嵌套分支)

执行逻辑:
  首先判断条件1,如果条件1的结果为True,再判断条件2,如果条件2的结果也为True,则执行逻辑代码B,执行完成后跳出整个if判断;
  如果条件1结果为True,条件2的结果也为False,则执行逻辑代码C,执行完成后跳出整个if判断;
  如果条件1为False,则执行逻辑代码D
注意点:
  这是if的嵌套使用,要注意,不同if的子级的缩进要保持一致

"""
语法结构:
if 条件1:逻辑代码Aif 条件2:逻辑代码Belse:逻辑代码C
else:逻辑代码Dif和else可以无限的嵌套
示例:
相亲:女方有两个条件
条件1:这个人的身高得满足:175
条件2:这个人的工资得满足:20000/8000
"""height = int(input("请输入你的身高:"))
if height >= 175:print("暂且满足条件1!")sal = int(input("请输入你的工资:"))if sal >= 8000:if sal >= 20000:print("工资大于等于2W,原地结婚")elif 10000 < sal < 20000:print("工资在1w到2W之间,可以考虑结婚")else:print("工资不到2W,过过日子还行")else:print("工资连8K都没有,不相了")
else:print("连条件1都不满足,看不上!")if height >= 170:print("不满足第一个对象,我们可以考虑第二个对象")else:print("第二个对象的条件,也不满足")>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
请输入你的身高:190
暂且满足条件1!
请输入你的工资:25000
工资大于等于2W,原地结婚
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
请输入你的身高:190
暂且满足条件1!
请输入你的工资:7500
工资连8K都没有,不相了
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
请输入你的身高:172
连条件1都不满足,看不上!
不满足第一个对象,我们可以考虑第二个对象
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
请输入你的身高:168
连条件1都不满足,看不上!
第二个对象的条件,也不满足

五、if中的判断条件

if语句的判断条件可以用各种数据类型的值,也可以是运算符
    各种数据类型的值:数字、字符串、列表、元组、字典、集合
    运算符,主要包括:
        比较运算符(> < == >= <=)
        逻辑运算符(and,or,not)
        成员运算符(in,not in)

1.条件--固定值

if后的条件使用固定的值:如数字、字符串、列表、元组、字典、集合等。
其中非0值,非空值(非空字符串、非空列表、非空数组、非空字典、非空集合等) === True
其中0,空值(空字符串、空列表、空数组、空字典、空集合等) === False

# 数字
if 100:print('非0数字')  # 输出:非0数字
else:print('数字为0')
# 字符串
if 'python':print('这是非空字符串')  # 输出:这是非空字符串
else:print('这是空字符串')
# 列表:
if []:print('这是非空列表')  # 输出:这是非空列表
else:print('这是空列表')

2.条件--运算符

运算符,主要包括:
    比较运算符(> < == >= <=)、逻辑运算符(and,or,not)、成员运算符(in,not in)

# 案例
# 1.'h'是否存在'python'中,存在则输出python包含h,否则输出python不包含h
if 'h' in 'python':print('python包含h')
else:print('python不包含h')
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
python包含h# 2.1是否存在(100,3.123,'python',(1,2))中,存在则输出元组包含1这个元素,否则输出元组不包含1这个元素
tpl = (100, 3.123, 'python', (1,2))
if 1 in tpl:print('元组包含1这个元素')
else:print('元组不包含1这个元素')
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
元组不包含1这个元素# 3.'zs'是否包含在{'id':1,'name':'zs','score':100}中,存在则输出字典包含zs,否则输出不包含
d = {'id': 1, 'name': 'zs', 'score': 100}
if 'zs' in d:print('字典包含zs')
else:print('字典不包含zs')
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
字典不包含zs


总结

在Python编程中,if语句作为分支结构的核心,为我们提供了一种灵活控制程序流程的方式。通过设定条件表达式,if语句能够判断不同情况,并执行相应的代码块,从而实现了程序的多样化处理。这一机制在数据处理、算法实现等场景中发挥着关键作用。掌握if语句的用法和技巧,不仅有助于提升编程效率,还能使代码更加清晰、易于维护。

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

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

相关文章

[前端] 深度选择器deep使用介绍(笔记)

参考文献 深度选择器 深度选择器deep使用说明 在 Vue 中&#xff0c;为了实现组件内部样式对组件外部元素的穿透覆盖&#xff0c;可以使用 CSS 的 deep 选择器&#xff08;也称为 >>> 或 /deep/&#xff09;或 v-deep 指令。然而&#xff0c;这两个方法在 Vue 3 中…

C语言之旅:动态内存管理

目录 一.为什么要有动态内存分配 二.malloc和free 2.1 malloc 2.2 free 2. 3malloc和free的使用 三. calloc 四. raelloc 4.1 代码示例&#xff1a; 4.2 注意事项&#xff1a; 4.3 对动态开辟空间的越界访问 4.4 对非动态开辟内存使⽤free释放 4.5 使用free释放⼀块…

在Python中防止某些字段被Pickle序列化

在Python中&#xff0c;如果你想防止某些字段被pickle序列化&#xff0c;可以使用__reduce__()方法来自定义pickle行为。__reduce__()方法允许你返回一个元组&#xff0c;其中包含要在对象被pickle时调用的函数以及传递给该函数的参数。下面就是我遇到的问题以及最终解决方案。…

2D Chests Assets - Mega Pack

科幻/奇幻/经典主题的箱子和容器。AAA质量,高分辨率,VFX,源PSD文件。 这是一个带有手绘套装的大包装: -【梦幻之栗】 -【科幻钱包】 AAA质量。高分辨率。一切都已准备就绪,可供使用。包括PSD文件。 在1.1版本中添加了VFX并将项目更新为URP。请注意,新的VFX仅适用于URP/HD…

C# WinForm —— 20 RichTextBox 介绍

1. 简介 富文本框&#xff0c;拥有TextBox的所有功能&#xff0c;&#xff0c;但还有更多高级的文本输入和编辑功能&#xff0c;比如设置字体颜色、样式、段落、图片、超链接等 2. 常用属性 属性解释(Name)控件ID&#xff0c;在代码里引用的时候会用到,一般以 rtxt 开头Acce…

Python中的数据可视化:填充等高线图matplotlib.pyplot.contourf()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 Python中的数据可视化&#xff1a; 填充等高线图 matplotlib.pyplot.contourf() [太阳]选择题 关于代码描述正确的是&#xff1f; import matplotlib.pyplot as plt import numpy as np x …

java数据结构与算法(二叉树前序遍历)

前言 二叉树的前序遍历是一种特定的遍历方法&#xff0c;按照根节点、左子树、右子树的顺序进行遍历。和中序遍历和后续遍历类似&#xff0c;只是先将遍历到的根节点先做输出。 实现原理 前序遍历的具体过程如下&#xff1a; 前序遍历是一种用于二叉树的遍历方式&#xff0…

【奈学科技】P7大前端架构师1期

课程概述 一门专为有志于成为大前端架构师人群量身打造的课程。课程内容深度剖析大前端架构各环节核心架构&#xff08;组件化架构、微内核架构、微前端架构、前后端分离架构&#xff09;并对其进行排列组合形成大前端全局架构观以及培养架构师必备的架构思维模型。史无前例的…

基于若依的ruoyi-vue3.8.7的flowable支持指定接收人的流程审批前端部分

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…

基于BF算法和KMP算法的病毒感染检测

案例引入&#xff1a; 实验任务&#xff1a; 代码实现&#xff1a; 注意&#xff1a;我以项目的形式编写此代码&#xff0c;编译环境为VS2022&#xff0c;代码移植可能会导致错误 mystring.h&#xff1a;存放结构体以及函数声明 #define _CRT_SECURE_NO_WARNINGS #pragma on…

在电脑本地运行llama3-8b模型

文章目录 流程我的案例api调用llama.cpp 流程 ollama支持可运行的模型,图片这里只是一部分而已,只需要下载下面的软件和模型文件,即可直接运行,而无需配置其他 模型文件下载地址 https://ollama.com/library 支持的部分模型,实际上更多,这里只是显示部分 登陆ollama官网 htt…

cpu卡片详解(FM1208)

​ 目录 ​1. 引言 1.1 FM1208 CPU卡芯片 2. FM1208 CPU卡芯片概述 2.1 FM1208及其在智能卡中的作用 2.2 FM1208功能框图 3.FM1208的技术规格 4.FM1208工作流程 5.&#xff26;&#xff2d;1208文件结构 6.FM1208与其他智能卡技术的比较 7.FM1208安全特性 7.1 DES/…

解决kali Linux2024无法获取动态IPv4地址(DHCP)解决方案

用root用户启动终端 进入根目录&#xff0c;选择配置文件 cd到根目录下/../etc/network找到interfaces文件 编辑interfaces文件 vi interfaces&#xff0c;编辑interfaces文件 输入如下命令 打开虚拟网络编辑器 选择虚拟机选项卡&#xff0c;编辑&#xff0c;打开虚拟网络编…

C语言笔记17

指针4 1.数组与指针笔试题型 //1.一维数组 int main1() {int a[] = { 1,2,3,4 };printf("%d\n", sizeof(a)); //16 特例: sizeof(数组名) 表示数组的空间大小printf("%d\n", sizeof(a + 0)); //第一个元素地址: 4(32位系统)/8(64位系统)printf(&q…

广西壮族自治区工程系列生态环境行业技术资格评审条件

广西壮族自治区工程系列生态环境行业技术资格评审条件评审文件链接广西壮族自治区人力资源和社会保障厅网站评审工作的通知关于开展2023年度工程系列生态环境行业职称评审工作的通知 - 职称评审 - 广西壮族自治区生态环境厅网站类别基本条件业绩成果论文、著作条件工程师一、获…

织梦dedecms企业网站模板安装教程

很多新手在拿到织梦模板后不知道如何安装&#xff0c;所以&#xff0c;云部落(Yunbuluo.Net)资源网专门整理了一份图文版织梦模板通用安装教程&#xff0c;希望对大家有所帮助。 第一步&#xff1a; 将域名解析绑定好之后&#xff0c;上传下载的模板至您的WEB根目录中&#xf…

JavaScript与数据库MongoDB的梦幻联动:打造高效的数据驱动应用-【代码示例】

JavaScript与数据库MongoDB的梦幻联动&#xff1a;打造高效的数据驱动应用【代码示例】 一、基本概念与作用1. JavaScript2. MongoDB 二、JavaScript与MongoDB的联动1. 环境准备2. 连接到MongoDB3. 定义数据模型4. 数据操作插入数据查询数据更新数据删除数据 三、性能与安全考虑…

【再探】设计模式—桥接模式、组合模式及享元模式

结构型设计模式描述了对象与类之间的关系。适配器模式及装饰器模式主要用于接口适配及功能增强&#xff0c;而桥接模式模式则是为了减少类的数量&#xff0c;组合模式让部分与容器能被客户端统一对待处理&#xff0c;享元模式则是用于节约系统内存&#xff0c;提高系统性能。 …

机器学习之sklearn基础教程(第五篇:特征选择和降维)

机器学习之sklearn基础教程&#xff08;第五篇&#xff1a;特征选择和降维&#xff09; 1. 特征选择 特征选择是从原始特征集中选择对任务有用的特征的过程。选择正确的特征可以提高模型的性能、减少训练时间和复杂度&#xff0c;并帮助我们更好地理解数据。 以下是几种常见的…

52. UE5 RPG 应用自定义FGameplayEffectContext到项目

在前面一篇文章中&#xff0c;我们创建了自定义的FGameplayEffectContext结构体&#xff0c;用于存储所需的内容。在自定义的结构体内&#xff0c;我们主要是为了增加暴击和格挡两个参数&#xff0c;用于后面的UI显示给玩家&#xff0c;让玩家知道当前触发的状态。并且我们还对…