Python之旅----判断语句
布尔类型和比较运算符
布尔类型
布尔类型的定义
布尔类型的字面量:
True 表示真(是、肯定)
False 表示假 (否、否定)
也就是布尔类型进行判断,只会有2个结果:是或否

定义变量存储布尔类型数据:变量名称 = 布尔类型字面量
布尔类型不仅可以自行定义也可以通过计算得来,也就是使用比较运算符进行比较运算得到布尔类型的结果。
常用的有6种值(数据)的类型
| 类型 | 描述 | 说明 |
| 数字(Number) | 支持 • 整数(int) • 浮点数(float) • 复数(complex) • 布尔(bool ) | 整数(int),如:10、-10 |
| 浮点数(float),如:13.14、-13.14 | ||
| 复数(complex),如:4+3j,以j结尾表示复数 | ||
| 布尔(bool)表达现实生活中的逻辑,即真和假 • True表示真 • False表示假 。 True本质上是一个数字记作1,False记作0 | ||
| 字符串(String) | 描述文本的一种数据类型 | 字符串(string)由任意数量的字符组成 |
| 列表(List) | 有序的可变序列 | Python中使用最频繁的数据类型,可有序记录一堆数据 |
| 元组(Tuple) | 有序的不可变序列 | 可有序记录一堆不可变的Python数据集合 |
| 集合(Set) | 无序不重复集合 | 可无序记录一堆不重复的Python数据集合 |
| 字典(Dictionary) | 无序Key-Value集合 | 可无序记录一堆Key-Value型的Python数据集合 |
比较运算符
首先要知道布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到,先看如下代码:
result = 11 > 10
print(f"11>10的结果为:{result},其类型为{type(result)}")
我们看到返回的是True(真),通过type()可以查看到类型为bool(布尔类型)
当然也可以进行字符串的比较:
result = "cast" == "dog"
print(f"字符串对比cast与dog的结果为:{result},其类型为{type(result)}")
输出结果:

比较运算符的规则:
| 运算符 | 描述 | 示例 |
| == | 判断内容是否相等,满足为True,不满足为False | 如a=3,b=3,则(a == b) 为 True |
| != | 判断内容是否不相等,满足为True,不满足为False | 如a=1,b=3,则(a != b) 为 True |
| > | 判断运算符左侧内容是否大于右侧 满足为True,不满足为False | 如a=7,b=3,则(a > b) 为 True |
| < | 判断运算符左侧内容是否小于右侧 满足为True,不满足为False | 如a=3,b=7,则(a < b) 为 True |
| >= | 判断运算符左侧内容是否大于等于右侧 满足为True,不满足为False | 如a=3,b=3,则(a >= b) 为 True |
| <= | 判断运算符左侧内容是否小于等于右侧 满足为True,不满足为False | 如a=3,b=3,则(a <= b) 为 True |
if语句的基本格式
if判断语句
生活中的判断:
程序中的判断:
例如:
# 定义变量
age = 30
# 进行判断
if age >= 18:print("已成年")
输出:
以上就是一个简单的利用if语句进行判断的“栗子”
if语句的注意点:
判断语句的结果,必须是布尔类型True或False
True会执行if内的代码语句
False则不会执行
顺便不要忘记判断条件后的: 引号

且归属于if判断的代码语句块,需在前方填充4个空格缩进(或快捷键Tab)
Python通过缩进判断代码块的归属关系。
if else语句
生活中的判断:

程序中的判断:

也就是if和其代码块,条件满足时执行,else搭配if的判断条件,当不满足的时候执行
我们做一个简单的栗子:
score = int(input("输入你的成绩:"))
if score >= 60:if score >= 85:print("你真优秀")else:print("仍需努力")
else:print("......")
结果如下:

需要注意的是:
1. else后,不需要判断条件
2. 和if的代码块一样,else的代码块同样需要4个空格作为缩进
if elif else语句
生活中的判断:

程序中的判断:

举个例子:
# 多条件判断语句的使用
print("欢迎来到兰州海洋公园!")
height = int(input("输入您的身高cm:"))
vip_level = int(input("您的VIP等级(1~9):"))
if height < 150:print("您的身高低于150cm,可以免费游玩!")
elif vip_level >= 5:print("尊贵的:VIP-%d用户,您可以免费游玩!" % vip_level)
else:print("对不起,所有条件都不满足,需要购票符合¥190")print("祝您游玩愉快!")
运行结果:

我来对这段代码做个解释:

首先要知道判断是互斥且有顺序的:
满足1(如图编号)将不会理会2和3
满足2,将不会理会3
若是1、2、均不满足,便会进入else,也就是3的语句.
大家可复制上面代码自行尝试。
判断语句的嵌套
有很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。
对这种需求,嵌套判断语句可以实现
嵌套判断语句可以用于多条件、多层次的逻辑判断
对于这种需求,我们可以:自由组合 if elif else,完成特定需求的要求
基础语法格式如下:

如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if。
嵌套的关键点在于:空格缩进
通过空格缩进 来决定语句之间的层次关系
简单嵌套:
# 判断语句的嵌套
print("欢迎来到兰州海洋公园!")
if int(input("输入你的年龄:")) >= 18:print("抱歉,成年人不能免费游玩")print("如果你的VIP等级高于5,依然可以为你免费!")if int(input("请输入你的VIP等级:")) > 5:print("恭喜你,VIP等级大于5,可以免费游玩!")else:print('对不起,等级不够,游玩需补票10元')
else:print("欢迎你小朋友,可以免费游玩")
测试:

我继续对这段代码做个解释:

如图:
这里用到的判断是两层
当外层if满足条件(图中编号1)时,才会执行内层if判断(图中编号2)
但要是当外层if(编号1)不满足,直接执行外层esle:
相关文章:
Python之旅----判断语句
布尔类型和比较运算符 布尔类型 布尔类型的定义 布尔类型的字面量: True 表示真(是、肯定) False 表示假 (否、否定) 也就是布尔类型进行判断,只会有2个结果:是或否 定义变量存储布尔类型…...
【JavaEE】文件操作和IO
1 什么是文件? 针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念 2 文件路径 文件路径就是指咱们文件系统中…...
python使用dataset快速使用SQLite
目录 一、官网地址 二、安装 三、 快速使用 一、官网地址 GitHub - pudo/dataset: Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions. 二、安装 pip install dataset 如果是mysql,则…...
Python 练习100实例(21-40)
Python 练习实例21 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天…...
“创新启变 聚焦增长”极狐(GitLab)媒体沟通会,共话智能时代软件开发新生态
10 月 18 日 北京 昨日,全球领先 AI 赋能 DevSecOps 一体化平台极狐(GitLab) 在北京举办了主题为“创新启变 聚焦增长”的媒体沟通会。极狐(GitLab) CEO 柳钢就“中国企业数字化转型、软件研发、技术自主可控等热点问题,以及 AI 大模型时代下,…...
【ChatGLM2-6B】在只有CPU的Linux服务器上进行部署
简介 ChatGLM2-6B 是清华大学开源的一款支持中英双语的对话语言模型。经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,具有62 亿参数的 ChatGLM2-6B 已经能生成相当符合人类偏好的回答。结合模型量化技术,用户可以在消费级的显卡上进行本地部署&…...
Xilinx IP 10 Gigabit Ethernet Subsystem IP
Xilinx IP 10 Gigabit Ethernet Subsystem IP 10 Gb 以太网子系统在 10GBASE-R/KR 模式下提供 10 Gb 以太网 MAC 和 PCS/PMA,以提供 10 Gb 以太网端口。发送和接收数据接口使用 AXI4 流接口。可选的 AXI4-Lite 接口用于内部寄存器的控制接口。 • 设计符合 10 Gb 以太网规范…...
ubuntu下yolox tensorrt模型部署
TensorRT系列之 Windows10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速…...
外汇天眼:外汇投资入门必看!做好3件事,任何人都能提高交易胜率
近年来外汇市场愈来愈热络,许多投资人看准世界金融变化的趋势,纷纷开始入场布局,期望把握行情大赚一笔。 如果你之前没有做过外汇交易,建议最好先透过「外汇天眼学院」学习各种相关的知识与技术分析,等到对外汇有一定的…...
idea dubge 详细
目录 一、概述 二、debug操作分析 1、打断点 2、运行debug模式 3、重新执行debug 4、让程序执行到下一次断点后暂停 5、让断点处的代码再加一行代码 6、停止debug程序 7、显示所有断点 8、添加断点运行的条件 9、屏蔽所有断点 10、把光标移到当前程序运行位置 11、单步跳过 12、…...
短视频矩阵系统/pc、小程序版独立原发源码开发搭建上线
短视频剪辑矩阵系统开发源码----源头搭建 矩阵系统源码主要有三种框架:Spring、Struts和Hibernate。Spring框架是一个全栈式的Java应用程序开发框架,提供了IOC容器、AOP、事务管理等功能。Struts框架是一个MVC架构的Web应用程序框架,用于将数…...
Linux不同格式的文件怎么压缩和解压
Linux不同格式的文件怎么压缩和解压 tar介绍不同格式文件压缩和解压 tar介绍 tar(tape archive)是一个在Unix和类Unix操作系统中用于文件打包和归档的命令行工具。它通常与其他工具(例如gzip、bzip2、xz)一起使用来创建归档文件并…...
Java 领域模型之失血、贫血、充血、胀血模型
1.失血模型 失血模型仅仅包含数据的定义和getter/setter方法,业务逻辑和应用逻辑都放到服务层中。这种类在Java中叫POJO。 action service: 核心业务(复杂度:重) model:简单Set Get dao :数据持…...
ifndef是什么,如何使用?
引言 使用HbuilderX uni-ui模板创建的uni-app项目,main.js文件中看到有如下的注释: // #ifndef VUE3 ...... // #endif // #ifdef VUE3 ...... // #endif 相信很多没有uini-app项目开发经验的朋友,初次接触uni-app项目,可…...
PXIE板卡,4口QSFP+,PCIE GEN3 X8,XILINX FPGA XCVU3P设计
PXIE板卡,4口QSFP,PCIE GEN3 X8,基于XILINX FPGA XCVU3P设计。 1:电路拓扑 ● 支持利用 EEPROM 存储数据; ● 电源时序控制和总功耗监控; 2:电路调试 3:测试 PCIE gen3 x8&#…...
数据分析:密度图
目前拥有的数据如图,三列分别对应瑕疵种类,对应的置信 度,x方向坐标。 现在想要做的事是观看瑕疵种类和置信度之间的关系。 要显示数据分布的集中程度,可以使用以下几种常见的图形来观察: 1、箱线图(Box P…...
docker load and build过程的一些步骤理解
docker load 命令执行原理 “docker load” command, the following steps are followed to load an image from a specified tar file to the local image repository: Parsing the tar file: Docker first parses the tar file to check its integrity and verify the form…...
批量处理图像模板
以下是一个Python模板,用于批量处理图像并将处理后的图像保存在另一个文件夹中。在此示例中,将使用Pillow库来处理图像,可以使用其他图像处理库,根据需要进行修改。 首先,确保已经安装了Pillow库,可以使…...
2023_Spark_实验十四:SparkSQL入门操作
1、将emp.csv、dept.csv文件上传到分布式环境,再用 hdfs dfs -put dept.csv /input/ hdfs dfs -put emp.csv /input/ 将本地文件put到hdfs文件系统的input目录下 2、或者调用本地文件也可以。区别:sc.textFile("file:///D:\\temp\\emp.csv&qu…...
如何将几个模型合并成一个
1、什么时候需要合并模型? 组装和装配:当你需要将多个零件或组件组装成一个整体时,可以合并它们成为一个模型。例如,在制造业中,当需要设计和展示一个完整的机械装置或产品时,可以将各个零部件合并成一个模…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
