Python之旅----判断语句

news2025/1/12 2:46:28

布尔类型和比较运算符

布尔类型

布尔类型的定义

布尔类型的字面量:

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语句的注意点:

判断语句的结果,必须是布尔类型TrueFalse

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(如图编号)将不会理会23

满足2,将不会理会3

若是12均不满足,便会进入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:

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

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

相关文章

基础课1——人工智能的分类和层次

1.人工智能的分类 人工智能&#xff08;AI&#xff09;的分类主要有以下几种&#xff1a; 弱人工智能&#xff08;Artificial Narrow Intelligence&#xff0c;ANI&#xff09;&#xff1a;弱人工智能是擅长于单个方面的人工智能&#xff0c;例如战胜象棋世界冠军的人工智能阿…

紫光同创FPGA实现UDP协议栈网络视频传输,带录像和抓拍功能,基于YT8511和RTL8211,提供2套PDS工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的以太网方案紫光同创FPGA精简版UDP方案紫光同创FPGA带ping功能UDP方案紫光同创FPGA精简版UDP视频传输方案 3、设计思路框架OV5640摄像头配置及采集数据缓冲FIFOUDP协议栈详解MAC层发送MAC发送模式MAC层接收ARP发送ARP接收ARP缓…

多维时序 | MATLAB实现SSA-CNN-LSTM-Attention多变量时间序列预测(SE注意力机制)

多维时序 | MATLAB实现SSA-CNN-LSTM-Attention多变量时间序列预测&#xff08;SE注意力机制&#xff09; 目录 多维时序 | MATLAB实现SSA-CNN-LSTM-Attention多变量时间序列预测&#xff08;SE注意力机制&#xff09;预测效果基本描述模型描述程序设计参考资料 预测效果 基本描…

基于有限内存BFGS方法的优化研究

import optimtool as oo from optimtool.base import np, sp, pltpip install optimtool # any version with accessible L_BFGS 加载L_BFGS方法 import optimtool.unconstrain as ou lbfgs ou.newton_quasi.L_BFGSf ( x ) ∑ i 1 n − 1 ( x i x i 1 − 3 ) 2 ( x i −…

MySq修改配置文件

要修改 MySQL 的配置文件,您可以按照以下步骤进行操作: 1、打开 MySQL 的配置文件 在大多数 Linux 系统上,默认的配置文件路径是 /etc/my.cnf 或 /etc/mysql/my.cnf。您可以使用文本编辑器(如 vim、nano)以管理员权限打开该文件。 sudo vim /etc/my.cnf 2、进行修改 …

《省级国土空间规划编制技术规程》国家标准(GB/T 43214-2023)原文下载

《省级国土空间规划编制技术规程》国家标准&#xff08;GB/T 43214-2023&#xff0c;以下简称《规程》&#xff09;&#xff0c;将于2024年1月1日起实施&#xff0c;该《规程》由市场监管总局&#xff08;国家标准委&#xff09;9月7日批准发布。 《规程》由自然资源部组织编制…

01. 汇编LED驱动实验

01. 汇编LED驱动实验 汇编原理分析为什么要学习Cortex—A汇编STM32IO初始化流程IMX6UL初始化流程 汇编基础处理器内部数据传输指令存储器访问指令 编写驱动编译程序烧写bin文件 汇编原理分析 为什么要学习Cortex—A汇编 需要用汇编初始化一些SOC外设使用汇编初始化DDR&#x…

【代码随想录】算法训练营 第三天 第二章 链表 Part 1

目录 链表基础 链表的定义 203. 移除链表元素 题目 思路 代码 直接删除法 虚拟头结点辅助法 707. 设计链表 题目 思路 代码 206. 反转链表 题目 思路 代码 双指针法 递归法 链表基础 链表是一种通过指针串在一起的线性结构&#xff0c;每个节点都由数据域和指…

初阶数据结构-常见的排序算法

排序 排序的概念常见的排序算法常见排序算法的实现数组的打印 插入排序直接插入排序的实现希尔排序( 缩小增量排序 )希尔排序的实现 交换排序冒泡排序冒泡排序的实现选择排序选择排序的实现堆排序堆排序的实现快速排序快速排序非递归 归并排序归并排序的递归实现归并排序的非递…

黑马JVM总结(三十五)

&#xff08;1&#xff09;JMM-有序性-问题 &#xff08;2&#xff09;JMM-有序性-解决 使用maven重新编译&#xff1a; 生成两个jar包 运行这个jar包&#xff1a; 再次执行上述结果&#xff1a;0出现的次数为0了 &#xff08;3&#xff09;JMM-有序性-理解 &#xff08;4&am…

2023_Spark_实验十六:编写LoggerLevel方法及getLocalSparkSession方法

一、搭建Spark项目结构 在SparkProject模块的pom.xml文件中增加一下依赖&#xff0c;并等待依赖包下载完毕&#xff0c;如上图。 ​<!-- Spark及Scala的版本号 --><properties><scala.version>2.11</scala.version><spark.version>2.1.1</sp…

组合数的计算

C: 即从a个元素中选取b个元素的组合数。 LL C(int a, int b) {LL res 1;for (int i a, j 1; j < b; i --, j )res res * i / j;return res; } A: 表示从a个元素中选取b个元素进行排列的情况数。 LL P(int a, int b) {LL res 1;for (int i a; i > a - b; i--){res…

2-k8s-控制器介绍

文章目录 一、控制器类型二、Deployment控制器三、SatefulSet控制器四、Daemonset控制器五、Job控制器六、CronJob 控制器 一、控制器类型 Deployment&#xff1a;适合无状态的服务部署StatefullSet&#xff1a;适合有状态的服务部署DaemonSet&#xff1a;一次部署&#xff0c…

iMazing 3中文版功能介绍免费下载安装教程

iMazing 3中文版免费下载是一款兼容Win和Mac的iOS设备管理软件。iMazing 3能够将音乐、文件、消息和应用等数据从任何 iPhone、iPad 或 iPod 传输到 Mac 或 PC 上。 使用iMazing 3独特的 iOS 备份功能保证数据安全:设定自动无线备份时间并支持快照;将备份保存到外接驱动器和网…

数据结构复盘——第四章:数组和矩阵

文章目录 第一部分:矩阵第一部分习题第二部分:对称矩阵第二部分习题第三部分:三角矩阵第三部分习题第四部分:三对角矩阵第四部分习题第五部分:稀疏矩阵第五部分习题小结第一部分:矩阵 矩阵在线性代数中已经有过详细了解,在考研中矩阵部分常常考察数组下标 k 与 矩阵行 …

5-k8s-探针介绍

文章目录 一、探针介绍二、探针类型三、探针定义方式四、探针实例五、启动探针测试六、存活探针测试七、就绪探针测试 一、探针介绍 概念 在 Kubernetes 中 Pod 是最小的计算单元&#xff0c;而一个 Pod 又由多个容器组成&#xff0c;相当于每个容器就是一个应用&#xff0c;应…

采用Spring Boot框架开发的医院预约挂号系统3e3g0+vue+java

本医院预约挂号系统有管理员&#xff0c;医生和用户。管理员功能有个人中心&#xff0c;用户管理&#xff0c;医生管理&#xff0c;科室信息管理&#xff0c;预约挂号管理&#xff0c;用户投诉管理&#xff0c;投诉处理管理&#xff0c;通知公告管理&#xff0c;科室分类管理。…

LeetCode24.两两交换链表中的节点

这道题还是比较简单&#xff0c;我看完题目的想法就是借助一个第三变量&#xff0c;来改变两个节点的指针的指向&#xff0c;比如我要改变1和2节点的指向&#xff0c;我用h1表示节点1&#xff0c;我创建一个新的节点ans&#xff0c;先拿ans指向节点2&#xff08;ans.next h1.n…

Linux性能优化--性能工具:网络

7.0 概述 本章介绍一些在Linux上可用的网络性能工具。我们主要关注分析单个设备/系统网络流量的工具&#xff0c;而非全网管理工具。虽然在完全隔离的情况下评估网络性能通常是无意义的(节点不会与自己通信),但是&#xff0c;调查单个系统在网络上的行为对确定本地配置和应用程…

从零开始的LINUX(二)

1.alias: 用法&#xff1a;取别名&#xff0c;此时code1是code的别名&#xff0c;对code1进行操作和对code进行操作结果一致。 如果原本文件名不存在&#xff0c;仍可以正常运行指令&#xff0c;不会报错。 2.stat 显示指定文件或目录的状态、属性。 3.touch 当文件名不存在的…