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.xdnf.cn/news/1425031.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Dalsa windows10下安装流程及部分问题分析

文章目录 安装及依赖库说明切换驱动模式流程问题&#xff1a;通过Dalsa SDK开发后找不到相机&#xff1f;问题&#xff1a;找不到采集卡&#xff1f; 安装及依赖库说明 官网(https://www.teledynedalsa.com/en/support/downloads-center/)下载的最新文件&#xff08;20240515&…

邮件接口实现自动化邮件发送的步骤和技巧?

邮件接口的安全性如何保障&#xff1f;怎么配置和测试邮件接口&#xff1f; 通过合理利用邮件接口&#xff0c;我们可以轻松实现邮件的批量发送、个性化定制以及跟踪反馈&#xff0c;为企业或个人带来诸多便利。接下来&#xff0c;就让AokSend来探讨邮件接口实现自动化邮件发送…

C语言简要(一)

总得让她开心吧 helloworld #include <stdio.h>int main() {printf("hello world!\n");return 0; } 程序框架 #include <stdio.h> int main {return 0; }输出 printf("hello world!\n"); "里面的内容叫做“字符串”&#xff0c;prin…

指标体系建设方案(36页PPT)

一、资料介绍 《指标体系建设方案》这份36页的PPT资料包&#xff0c;是针对当前组织发展需求而精心设计的一套全面、系统的指标构建方案。本资料包从理论到实践&#xff0c;深入浅出地阐述了指标体系建设的必要性、原则、步骤及实施要点&#xff0c;旨在帮助组织建立起科学、合…

人工智能到底是什么玩意儿?

说实话&#xff0c;每次听到“人工智能”这个词&#xff0c;我都感觉像是在听天书一样。它似乎总是被包裹在一堆高大上的术语和概念里&#xff0c;让人摸不着头脑。但今天&#xff0c;我决定挑战一下自己&#xff0c;把这个问题搞个明白&#xff01; 首先&#xff0c;我得承认&…

selenium发展史

Selenium Core 2004 年&#xff0c;Thoughtworks 的工程师 Jason Huggins 正在负责一个 Web 应用的测试工作&#xff0c;由于这个项目需要频繁回归&#xff0c;这导致他不得不每天做着重复且低效的工作。为了解决这个困境&#xff0c;Jason 开发了一个运行在 JavaScript 沙箱中…

Dockerfile中yum install 无法使用的问题

记录一次开发中使用Dockerfile进行centos7容器自定义的时候发现yum install无法使用 1. 查看主机是否能够联网 ping www.baidu.com主机能够联网 2. 查看进行Dockerfile进行打包的时候新容器是否联网 在Dockerfile中添加 RUN ping www.baidu.com 发现无法ping通 解决办法 …

节点电位与电路电压的研究

实验目的&#xff1a; 1. 验证电路中电位与电压的关系&#xff1b; 2. 掌握电路电位图的绘制方法&#xff1b; 3. 学会对简单的电路故障进行分析与排除。 实验内容及步骤&#xff1a; 1. 从“线性电路研究模块”实验板上选取元器件&#xff0c;结合实验箱提供的电源&#xff…

位拆分与运算

描述 题目描述&#xff1a; 现在输入了一个压缩的16位数据&#xff0c;其实际上包含了四个数据[3:0][7:4][11:8][15:12], 现在请按照sel选择输出四个数据的相加结果,并输出valid_out信号&#xff08;在不输出时候拉低&#xff09; 0: 不输出且只有此时的输入有…

EasyClick常见拓展函数及应用

十天学会从入门到实战游戏脚本开发教程--EassyClick入门教程&#xff1a;2024 十天学会EasyClick从入门到实战&#xff0c;自动化脚本&#xff0c;游戏脚本开发系列教程_哔哩哔哩_bilibili2024 十天学会EasyClick从入门到实战&#xff0c;自动化脚本&#xff0c;游戏脚本开发系…

Redis-Redis事务

Redis事务 Redis事务简介 Redis事务是一组命令的集合&#xff0c;一个事务中的所有命令都将被序列化&#xff0c;按照一次性、顺序性、排他 性的执行队列系列的命令。Redis单条命令保证原子性&#xff0c;但是事务不保证原子性&#xff0c;且没有回滚。事务中任意命令执行失败…

DBeaver如何csv导入数据

简言之先要创建任务&#xff0c;任务还需要去执行&#xff0c;只有执行之后才是执行真的导入了 那个保存任务真的很误导人啊 1.首先点击你要被导入的表&#xff0c;右键选择导入数据然后选择直接点击下一步,这个地方需要修改格式&#xff0c;否则会乱码 如果你导入的没有标题…

GPT-4o API 全新版本发布:提升性能,增加性价比

5月13日&#xff0c;OpenAI 发布了全新ChatGPT模型 GPT-4o&#xff0c;它在响应速度和多媒体理解上都有显著提升。在这篇文章中&#xff0c;我们将介绍 GPT-4o 的主要特点及其 API 集成方式。 什么是 GPT-4o&#xff1f; GPT-4o 是 OpenAI 于5月13日发布的最新多模态 AI 模型…

职业生涯第一课---“Redis分布式锁优化:确保唯一性与效率“

前言 最近因为刚入职公司开启自己的实习生涯&#xff0c;工作和毕设论文同步进行&#xff0c;导致有段时间没更新博客了&#xff0c;今天来分享一下最近学到的一些知识。 场景介绍 BOSS让我写一些接口&#xff0c;他提出这样一个需求&#xff0c;该接口的参数有多个&#xf…

ubuntu下不生成core dumped

1、先用ulimit -c&#xff0c;如果看到0&#xff0c;说明没有开core dump。 所以我们输入ulimit -c unlimited&#xff0c;打开core dump。 再次用ulimit -c&#xff0c;看到unlimited了&#xff0c;说明core dump打开了。 注意这句ulimit -c unlimited只对当前会话有效。要永…

酷开科技的智能电视操作系统—酷开系统,带来更加舒适的观看体验

酷开科技的智能电视操作系统——酷开系统&#xff0c;通过大数据和人工智能技术的结合&#xff0c;会根据会员的观看历史和收视行为偏好&#xff0c;刻画出“消费者群体画像”&#xff0c;然后将内容进行“人工编辑智能推荐”的方式推送到消费者面前&#xff0c;不仅省去了消费…

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

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

Verdaccio私服搭建

前言 Verdaccio是一个轻量级的私有npm注册表&#xff0c;由Node.js创建&#xff0c;并且是sinopia1.4.0的衍生版本&#xff0c;与其100%向后兼容。Verdaccio的名称来源于意大利中世纪晚期fresco绘画中流行的一种绿色。 Verdaccio的主要功能是在本地环境中管理和共享npm软件包。…

鸿蒙应用开发之调用C++开发代码库3

接着下来,我们仔细分析C++代码的实现,要理解怎么样把ArkTS类型转换为C++类型,并且返回参数值时,怎么从C++的类型转换为ArkTS类型。 要想在ArkTS调用C++的代码,需要把上面的编译器信息打包到应用程序HAP里,当运行的时候,就可以找到加载的对应的声明信息。 我们从JS调用框…

framework ‘CoreAudioTypes‘ not found

几天前我升级Xcode15之后遇到了这个问题。关于“CoreAudioTypes”的信息完全是误导。在我的例子中&#xff0c;原因是在删除一些旧代码时&#xff0c;我不小心删除了仍然需要的类。然而&#xff0c;在构建时弹出的唯一消息是关于“CoreAudioTypes”——当我恢复丢失的类时&…