Python入门知识点分享——(十一)if条件语句

if条件语句是一种编程语言中用于控制程序流程的结构。它根据一个条件的真假来决定执行不同的代码块。

if条件语句通常由if关键字、一个条件表达式和一个代码块组成。条件表达式可以是一个返回布尔值的表达式,如果条件为真,则执行代码块中的代码;否则,跳过该代码块。

条件语句流程图如下:

a = 10
if a > 5:print(a)
10

需要注意的是,Python对于缩进要求十分严格,不同于C语言将函数体置于括号内,在Python中表示嵌套关系只有依托缩进来完成,因此要注意每一行语句与前文的关系并选择正确的位置。

补充说明:

if 语句的判断条件包括大于>、大于等于>=、小于<、小于等于<=、等于==、不等于!=六种符号来表示其关系。如果存在多个条件需要同时判断时,可以使用逻辑运算符or (布尔或)表示两个条件有一个成立时判断条件成功;使用逻辑运算符 and (布尔与)表示只有两个条件同时成立的情况下判断条件才成功。 

a = 10
if a >= 5:print(a)
b = 5
if b >= 5 and b != 8:print(b)
c = -2
if c == 0 or c < 2.5:print(c)
10
5
-2

以上是if的判断条件为number数据类型的情况,实际上条件表达式可以为任意返回值为布尔类型的语句。如果条件表达式较长可以放在括号内,便于使用。

import os
a = "right"
if (bool(1)):print(a)
if (type(a) is str):print(a)
if ("aa"):print(a)
print(bool("aa"))
b = [1, 2, 3]
if 2 in b:print(b)
if os.path.isfile('test2\\word_work.txt'):print(b)
right
right
right
True
[1, 2, 3]
[1, 2, 3]

常用到成员运算符(in)、身份运算符(is)以及其他的属性判断方法,此外由于非0数字和字符串会返回True值,当我们需要确定执行代码块时可以在if后接1。

当我们判断某个条件不成立时需要执行另一种情况时,要用到else语句,else是用于在if条件不满足时执行另一段代码块。

若情况大于两种时,就要使用elif,相当于C语言的else if,由于Python中没有Switch语句,这也是仅有的多条件判定的方法之一。注意条件语句只要满足一个条件就会输出,不会考虑其他条件是否达成。

tuple1 = (2, 4, -55, 0, "hi")
if 2 not in tuple1:print("2不在tuple1中")
elif tuple1[1] == 10:print("tuple1第1位数据是10")
elif "hi" in tuple1:print("hi在tuple1中")
elif type(tuple1) == tuple:print("tuple1的类型是tuple")
else:print("均不符合")
hi在tuple1中

要注意else后没有条件表达式,一切未列出情况都计入else,作用同switch中的default。

if条件语句的简单应用就介绍完成了,作为逻辑判断的重要表达形式,无论在多么复杂的程序中都会有if语句存在。学好if语句,就是为日后搭建代码框架奠定坚实的基础。

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

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

相关文章

【C++进阶03】二叉搜索树

一、二叉搜索树的概念和性质 中序遍历二叉搜索树会得到一个有序序列 所以二叉搜索树又称二叉排序树 它可以是一棵空树 也可以是具有以下性质的二叉树&#xff1a; 若它的左子树不为空 则左子树上所有节点的值都小于根节点的值若它的右子树不为空 则右子树上所有节点的值都大于…

mysql卸载与两种安装方式,非常详细

mysql卸载与两种安装 mysql卸载、mysql的MSI安装mysql的ZIP安装 在MySQL的官网中有两种下载类型一种是MSI二进制的文件&#xff0c;起始就是MySQL的图形化安装步骤&#xff0c;还有一种就是ZIP压缩包格式。下载卸载和MSI安装在前面的文章中已经介绍过&#xff0c;每个步骤都有截…

HarmonyOS自学-Day3(做个登录功能小案例)

目录 文章声明⭐⭐⭐让我们开始今天的学习吧&#xff01;登录功能小案例 文章声明⭐⭐⭐ 该文章为我&#xff08;有编程语言基础&#xff0c;非编程小白&#xff09;的 HarmonyOS自学笔记&#xff0c;此类文章笔记我会默认大家都学过前端相关的知识知识来源为 HarmonyOS官方文…

创建加密分区或者文件

文章目录 [GParted 中已清除的分区与未格式化的分区](https://superuser.com/questions/706624/cleared-vs-unformatted-partition-in-gparted)创建加密分区解密创建的加密分区以便挂载格式化设备未具体的格式&#xff08;这里为ext4格式&#xff09;创建挂载点目录挂载加密的文…

java freemarker 动态生成excel文件

好久木有更新啦 抓住2023的小尾巴 浅浅更新一下吧~ 最近做了一个动态生成excel的功能&#xff0c;这里记录下部分功能&#xff0c;主要用到的是freemarker框架&#xff0c;spring就有带&#xff0c;我起的demo载入了一下freemarker的jar包 一、创建模板 首先可以创建一个e…

三维可视化智慧工地源码,数字孪生可视化大屏,微服务架构+Java+Spring Cloud +UniApp +MySql

源码技术说明 微服务架构JavaSpring Cloud UniApp MySql&#xff1b;支持多端展示&#xff08;PC端、手机端、平板端&#xff09;;数字孪生可视化大屏&#xff0c;一张图掌握项目整体情况;使用轻量化模型&#xff0c;部署三维可视化管理&#xff0c;与一线生产过程相融合&#…

Leetcode 763 划分字母区间

题意理解&#xff1a; 要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。 注意&#xff0c;划分结果需要满足&#xff1a;将所有划分结果按顺序连接&#xff0c;得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 输入&#xff…

Seata 中封装了四种分布式事务模式,分别是: AT 模式, TCC 模式, Saga 模式, XA 模式,

文章目录 seata概述Seata 中封装了四种分布式事务模式&#xff0c;分别是&#xff1a;AT 模式&#xff0c;TCC 模式&#xff0c;Saga 模式&#xff0c;XA 模式&#xff0c; 今天我们来聊聊seata seata 概述 在微服务架构下&#xff0c;由于数据库和应用服务的拆分&#xff0c…

echarts 柱状图

记录echarts 柱状图基础案例以及相关配置。 1.基础柱状图 const myChart this.$echarts.init(this.$refs.echartsZx);const option {title: {text: 本周考试记录},//提示框tooltip: {trigger: axis,axisPointer: {type: shadow}},xAxis: {type: category,data: [Mon, Tue, W…

spring、springmvc、springboot、springcloud简介

spring简介 spring是什么&#xff1f; spring: 春天spring: 轻量级的控制反转和面向切面编程的框架 历史 2002年&#xff0c;首次推出spring雏形&#xff0c;interface 21框架2004年&#xff0c;发布1.0版本Rod Johnson: 创始人&#xff0c;悉尼大学&#xff0c;音乐学博士…

配置vite项目打包控制台不显示console.log配置

可以看vite官方的配置文档&#xff1a;构建选项 | Vite 官方中文文档 主要是配置&#xff1a;但是terser需要vite3.0以后手动安装一下 build: {sourcemap: false,minify: terser,terserOptions: {compress: {drop_console: true,drop_debugger: true,},},}, 安装命令&#xff…

八种常见顺序存储的算法

目录 1、线性枚举 1&#xff09;问题描述 2&#xff09;动图演示 3&#xff09;示例说明 4&#xff09;算法描述 5&#xff09;源码详解 2、前缀和差分 1&#xff09;问题描述 2&#xff09;动图演示 3&#xff09;样例分析 4&#xff09;算法描述 5&#xff09;源码…

攻防世界—no-strings-attached

# 攻防世界—no-strings-attached 介绍下——IDA内置脚本 shiftF12 收获——要一个一个大致看出代码在干嘛 先运行一遍 int __cdecl main(int argc, const char **argv, const char **envp) { setlocale(6, &locale); banner(); prompt_authentication(); authenti…

3D展2D数学原理

今年早些时候&#xff0c;我为 MAKE 杂志写了一篇教程&#xff0c;介绍如何制作视频游戏角色的毛绒动物。 该技术采用给定的角色 3D 模型及其纹理&#xff0c;并以编程方式生成缝纫图案。 虽然我已经编写了一般摘要并将源代码上传到 GitHub&#xff0c;但我在这里编写了对使这一…

vue多条数据渲染(带图片)

我在这用的为接口数据&#xff1a; 先调用接口获取需要的数据: 然后用&#xff1a;data绑定需要渲染的数据&#xff1b;&#xff08;记得包裹在<el-table>标签中&#xff09; 然后以此循环渲染数据&#xff1b;那怎么渲染出来图片呢&#xff1f; 在<el-table-column…

技术资讯:2023编程语言排行榜,出炉啦!

大家好&#xff0c;我是大澈&#xff01; 本文约2000字&#xff0c;整篇阅读大约需要4分钟。 感谢关注微信公众号&#xff1a;“程序员大澈”&#xff0c;免费领取"面试礼包"一份&#xff0c;然后免费加入问答群&#xff0c;从此让解决问题的你不再孤单&#xff01…

PMCW体制雷达系列文章(2) - PMCW雷达与CDM

说明 多发多收(MIMO)体制下关于天线阵列有两个核心的问题&#xff1a;一是天线阵列怎么排布&#xff1b;二是这么多发射通道如何发射。这两点不管对于FMCW雷达还是PMCW雷达都同样适用。关于雷达的发射问题&#xff0c;我之前写过一篇博文&#xff1a;车载毫米波雷达MIMO阵列的天…

python如何读取被压缩的图像

读取压缩的图像数据&#xff1a; PackBits 压缩介绍&#xff1a; CCITT T.3 压缩介绍&#xff1a; 读取压缩的图像数据&#xff1a; 在做图像处理的时候&#xff0c;平时都是使用 函数io.imread() 或者是 函数cv2.imread( ) 函数来读取图像数据&#xff0c;很少用PIL.Image…

什么是 NLP (自然语言处理)

NLP&#xff08;自然语言处理&#xff09;到底是做什么&#xff1f; NLP 的全称是 Natural Language Processing&#xff0c;翻译成中文称作&#xff1a;自然语言处理。它是计算机和人工智能的一个重要领域。顾名思义&#xff0c;该领域研究如何处理自然语言。 自然语言就是我…

java设计模式学习之【迭代器模式】

文章目录 引言迭代器模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用迭代器示例代码地址 引言 想象一下&#xff0c;你在一个书店里浏览各种书籍。你可能会从头到尾查看每一本书&#xff0c;或者可能跳过一些不感兴趣的部分。在这个过程中&#xff0c;你实…