深入探究:if、elif、else语句如何塑造Python代码的逻辑魅力

欢迎来CILMY23的博客

本篇主题为 深入探究:if、elif、else语句如何塑造Python代码的逻辑魅力

个人主页:CILMY23-CSDN博客

个人专栏系列: Python | C语言 | 数据结构与算法 | C++

感谢观看,支持的可以给个一键三连,点赞关注+收藏。


 写在前头:

本篇博客主要对各种的条件语句进行详解,带大家深入理解if,elif,else的用法,并且总结他们对代码的影响。

目录

一、什么是顺序结构,选择结构,循环结构?

1.1 概述

1.2 三大结构的概念

1.3 条件语句 

二、选择结构

2.1 单分支

2.2 二分支

2.3 多分支

2.4 分支嵌套

三、条件运算


一、什么是顺序结构,选择结构,循环结构?

1.1 概述

按照设计方法的不同,计算机程序设计可分为面向对象程序设计面向过程程序设计,大部分编程语言都是面向对象编程语言,如 Java 、 C++ 、Go 、Python 、C# 、Ruby 、JavaScript 、Objective-C 、Scala 、PHP 和 Perl 等,面向过程程序设计最经典的当属C语言了。但无论哪种设计方法实现的计算机程序,都有三种基本结构:顺序结构,选择结构,循环结构

1.2 三大结构的概念

顺序结构:程序按照代码的顺序一步一步地执行,从上到下依次执行每一条语句。

选择结构:程序根据条件,选择性地执行不同的代码块

循环结构:程序重复执行一段代码多次,直到满足某个条件为止。

1.3 条件语句 

前阵子看了电影《你想活出怎样的人生》 ,不知道大家是否知道里面的场景,火美和真人在躲避鹦鹉的追捕的时候看到无数扇门,而在这之前我们需要做一个决定判断是否进入这些门,我们把门后的内容写成代码,进入门和不进入门的判断就是条件语句,即条件成立执行某些代码,条件不成立则不执行这些代码。

二、选择结构

选择结构根据某个条件决定执行不同部分的语句或语句块。在Python中,选择结构用if条件语句实现,根据选择项的多少,选择结构可以分为单分支结构,二分支结构和多分支结构。

2.1 单分支

一个if跟一个条件语句的情况,我们称为单分支结构

语法:

        if  表达式:

                语句块

例如:

x = 10
if x > 5:print("x大于5")

 我们用代码缩进来表示第一个的语句块,不像过去在C语言中用{}括起来,这样的表示对程序可读性我也不确定是提高还是降低了。

单分支结构特点如下:

  • 只有一个条件判断,语句块可以包含多个语句,也可以包含单个语句(相同的代码缩进)
  • 如果条件为真,执行相应的语句块;如果条件为假,则直接跳过。
  • 如果语句块只有同一条语句,也可以讲整个if语句写在同一行

例如:

x = 10
if 5 < x < 10:print("x大于5")print("并且x<10")
print("x是否小于10和我没关系")

结果是只会打印最后一条语句。 

2.2 二分支

二分支结构是一种常见的选择结构,通常使用 if-else 语句实现。它只有两个选择,要么进入if,要么进入else。

if 表达式:

        语句块

else 表达式:

        语句块 

例如:

# 2.2 二分支结构
x = 10
if x > 5:print("x大于5")
else:print("x小于等于5")

二分支结构的特点包括:

  • 有两个代码分支,一个用于条件为真时的执行,另一个用于条件为假时的执行。
  • 通过 if-else 语句实现,代码形式为:如果条件成立,则执行特定代码,否则执行其他代码。

2.3 多分支

实际生活中我们可能会碰到像真人那样选择无数人生的时候,这种情况我们通常会用到多分支结构。

if  表达式:

        语句块

elif 表达式:

        语句块

elif 表达式:

        语句块

…………

else 表达式:

        语句块

例如: 判断学生成绩的时候我们通常会划分档次,根据不同的分数范围,程序选择性地执行不同的打印语句,这就是典型的多分支结构。

score = 85if score >= 90:print("优秀")
elif score >= 80:print("良好")
elif score >= 70:print("中等")
elif score >= 60:print("及格")
else:print("不及格")

 以下是多分支结构的主要特点:

  1. 多个条件:多分支结构允许根据不同的条件执行不同的代码块,每个条件对应一个代码块。这意味着可以根据多种情况进行逻辑判断。

  2. 优先级顺序:条件语句按照从上到下的顺序依次检查,直到找到第一个为真的条件,然后执行相应的代码块。因此,条件的顺序非常重要,应该根据实际逻辑合理安排。

  3. 覆盖所有可能性:多分支结构通常用于覆盖多种可能的情况。每个条件都应该涵盖程序可能遇到的所有情况,以确保程序的完整性和正确性。

  4. else子句:在多分支结构中,else子句是可选的,用于处理所有条件都不满足的情况。如果所有条件都不满足,则执行else子句中的代码块。

2.4 分支嵌套

当在一个选择结构中需要进一步的条件选择时,可以在if语句中再嵌套使用if语句,形成选择结构嵌套。

 例如:

x = 10
y = 5if x > 5:if y > 3:print("x大于5,y大于3")else:print("x大于5,y不大于3")
else:print("x不大于5")

在这个示例中,首先检查x是否大于5,如果是,则进入内层的条件分支结构中进行更细致的条件判断。根据y的值,打印相应的结果。如果x不大于5,则直接打印“x不大于5”。 

分支嵌套的主要特点包括:

  1. 复杂逻辑:分支嵌套适用于处理需要更复杂逻辑的情况,可以根据多个条件组合进行逻辑判断。

  2. 多层嵌套:条件分支可以进行多层嵌套,内层的条件语句可以进一步根据不同条件进行嵌套。

  3. 清晰的逻辑结构:合理的分支嵌套可以使程序的逻辑结构更清晰明了,但也要注意不要嵌套层次太多,以免降低可读性。

  4. 代码块:在Python中,条件分支的代码块需要通过缩进来表示,条件分支嵌套时需要特别注意代码的缩进,以确保逻辑结构正确。

三、条件运算

条件运算是一种简洁的表示条件逻辑的方法,也称为三元运算符,它相当于一个二分支结构语句的功能,包含三个表达式。

表达式1 if 表达式 else 表达式 2 

表达式是条件判断,如果它是真,那么输出表达式1,如果它为假,那么输出表达式2. 

例如: 

# 条件运算
x = 10
result = "大于等于10" if x >= 10 else "小于10"
print(result)

 条件表达式是一种灵活且方便的方式来根据条件设置变量的值,它能够使代码更加简洁明了。在适当的情况下,使用条件表达式可以提高代码的可读性和简洁度。

影响:

在Python编程中,条件语句(if、elif、else)是我们经常使用的重要工具。它们不仅影响着我们的代码结构,还直接影响了代码的可读性、灵活性和维护性。


 感谢各位同伴的支持,本期python就讲解到这啦,如果你觉得写的不错的话,可以给个一键三连,点赞,关注+收藏,若有不足,欢迎各位在评论区讨论。      

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

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

相关文章

递归的层次处理-组合总数

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例 1: 输入: candidates = [10,1,2,7,6,1,5], target = 8, 输…

JavaSE-10笔记【多线程1(+2024新)】

文章目录 1.进程与线程2.并发与并行3.线程的调度模型4.实现线程4.1 第一种方式&#xff1a;继承Thread4.2 第二种方式&#xff1a;实现Runnable接口4.3 t.start()和t.run()的本质区别&#xff1f;4.4 线程常用的三个方法 5.线程的生命周期&#xff08;把生命周期图背会&#xf…

python实例2.2:编写一个装饰器,计算任何一个函数执行的时间(详解及其知识点拓展)

目录 一、编写一个装饰器,计算任何一个函数执行的时间 二、装饰器详解,及其用法举例

蓝桥杯 历届真题 双向排序【第十二届】【省赛】【C组】

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 改了半天只有60分&#xff0c;还是超时&#xff0c;还不知道怎么写&#xff0c;后面再看吧┭┮﹏┭┮ #include<bits/stdc.h> …

十四、Shell 脚本中的 printf 命令

注&#xff1a; 本文只是博主学习记录分享&#xff0c;仅供参考。如有错误肯定是博主理解有问题&#xff0c;谢谢&#xff01; printf 命令在 Shell 脚本中用于格式化输出。它提供了更灵活和强大的格式化功能&#xff0c;默认不会像 echo 命令自动添加换行符&#xff0c;需要手…

在线聊天使用说明

功能 支持世界聊天没有人数限制支持个人聊天支持群聊(没开放)支持通讯录支持添加好友支持添加群(没开放)支持emoji表情后期会支持发送图片现在还不支持 现有问题可能样式兼容还有点问题, 以后有时间在处理, 目前能正常聊天 入口 聊天入口: https://huanmin.top/#/chat 功…

必知必会!使用NumPy对数组进行拆分

使用NumPy对数组进行拆分是一种高效且灵活的数据处理方式。NumPy提供了多种函数&#xff0c;如numpy.split(), numpy.hsplit(), 和 numpy.vsplit()&#xff0c;使得数组可以根据不同的需求进行拆分。这些函数能够精确控制拆分的数量和位置&#xff0c;满足不同的数据处理和分析…

2024/4/1—力扣—按摩师

代码实现&#xff1a; 思路&#xff1a;打家劫舍题 int massage(int *nums, int numsSize) {if (nums NULL || numsSize 0) {return 0;}if (numsSize 1) {return nums[0];}int dp[numsSize];memset(dp, 0, sizeof(dp));dp[0] nums[0];dp[1] (nums[0] < nums[1] ? nums…

掌握JWT安全

确保用户身份验证和保护正在进行的会话是现代网络开发的重要部分。在网络应用程序中管理身份验证和授权的许多选项中&#xff0c;JSON Web Tokens&#xff08;JWT&#xff09;由于其简单性、高效性和灵活性而变得流行。然而&#xff0c;就像任何其他技术一样&#xff0c;JWT 也…

【NLP】多标签分类【下】

文章目录 简介个人博客与相关链接1 实验数据与任务说明2 模型介绍2.1 TransformerTransformer能做什么&#xff1f; 2.2 Hugging FaceHugging Face的Transformers库社区支持和资源预训练模型的应用 2.3 T5模型&#xff08;Text-To-Text Transfer Transformer&#xff09;T5的核…

时间系列预测总结

转载自&#xff1a;https://mp.weixin.qq.com/s/B1eh4IcHTnEdv2y0l4MCog 拥有一种可靠的方法来预测和预测未来事件一直是人类的愿望。在数字时代&#xff0c;我们拥有丰富的信息&#xff0c;尤其是时间序列数据。 时间序列是指基于时间刻度维度&#xff08;天、月、年等&…

【THM】Protocols and Servers 2(协议和服务器 2

介绍 协议和服务器房间涵盖了许多协议: 远程登录HTTP协议文件传输协议邮件传输协议POP3IMAP实现这些协议的服务器会受到不同类型的攻击。仅举几例,请考虑: 嗅探攻击(网络数据包捕获)中间人 ( MITM ) 攻击密码攻击(身份验证攻击)漏洞从安全的角度来看,我们始终需要思考…

用API技术为数据安全“上保险”——双重保障

&#x1f50d;API在数据安全领域的核心地位 随着数字化进程的狂飙突进&#xff0c;应用程序接口&#xff08;API&#xff09;已化身为企业内部、不同平台间以及用户交互的关键纽带。它们不仅是数据流动与共享的驱动引擎&#xff0c;更是守护数据安全的重要防线。其中&#xf…

端口敲击守护程序之DC-9

总结 getwebshell : 发现SQL注入 → 登录系统 → 疑似文件包含 → FUZZ参数 → 文件包含读取守护程序 → 敲击打开SSH端口 → 利用泄露账号密码登录 提 权 思 路 : 发现3个用户 → 登录获取密码字典 → 再次爆破获取第4个用户 → sudo文件发现 → 存在root权限写入功能 → pa…

共生共舞的期货黄金和现货黄金

期货黄金&#xff0c;作为一种在金融市场上备受关注的投资工具&#xff0c;其价值与价格走势深受现货黄金市场的直接影响和联动。期货黄金交易&#xff0c;本质上是投资者对未来某一特定时间内黄金价格的预期进行押注&#xff0c;而这背后的逻辑支撑和价格基准正是现货黄金市场…

2024通信技术与航空航天工程国际会议(ICCTAE2024)

2024通信技术与航空航天工程国际会议(ICCTAE2024) 会议简介 通信技术和航空航天领域有着密切的关联和深远的意义。 随着通信技术和航空航天工程的快速发展&#xff0c;这两个领域的交叉融合为学术界和工业界提供了广阔的研究空间和实际应用前景。为了进一步推动相关领域的发…

Ubuntu 20.04.06 PCL C++学习记录(二十)

[TOC]PCL中点云分割模块的学习 学习背景 参考书籍&#xff1a;《点云库PCL从入门到精通》以及官方代码PCL官方代码链接,&#xff0c;PCL版本为1.10.0&#xff0c;CMake版本为3.16 学习内容 基于颜色的区域增长细分 源代码及所用函数 源代码 #include<iostream> #i…

HIS系统是什么?一套前后端分离云HIS系统源码 接口技术RESTful API + WebSocket + WebService

HIS系统是什么&#xff1f;一套前后端分离云HIS系统源码 接口技术RESTful API WebSocket WebService 医院管理信息系统(全称为Hospital Information System)即HIS系统。 常规模版包括门诊管理、住院管理、药房管理、药库管理、院长查询、电子处方、物资管理、媒体管理等&…

Grafana告警(邮件)自定义模板配置

一年前给客户部署配置过grafana&#xff0c;告警配置也是用的原始的&#xff0c;客户在使用过程中只需要一些核心点信息&#xff0c;想要实现这个就需要用Grafana的自定义告警模板以及编辑邮件模板。 通知模板 模板信息的配置中查阅了相关资料&#xff0c;自己组装了一套&…

【IC前端虚拟项目】spyglass lint环境组织与lint清理

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 和上个虚拟项目的lint清理环节一样&#xff0c;关于spyglass的lint清理功能与流程还是大家通过各种资料去学习下就好啦。和之前不同的事&#xff0c;这次的虚拟项目里我把流程封装为Makefile&#xff0c;…