当前位置: 首页 > news >正文

Python-第三天 Python判断语句

Python-第三天 Python判断语句

  • 一、 布尔类型和比较运算符
    • 1.布尔类型
    • 2.比较运算符
  • 二、if语句的基本格式
    • 1.if 判断语句语法
    • 2.案例
  • 三、 if else 语句
    • 1.语法
    • 2.案例
  • 四 if elif else语句
    • 1.语法
  • 五、判断语句的嵌套
    • 1.语法
  • 六、实战案例

一、 布尔类型和比较运算符

1.布尔类型

布尔(bool):
表达现实生活中的逻辑,即真和假

  • True表示真
  • False表示假

True本质上是一个数字记作1,False记作0

布尔类型的定义

变量名称 = 布尔类型字面量

布尔类型的字面量:

  • True 表示真(是、肯定)
  • False 表示假 (否、否定)

定义变量存储布尔类型数据:
布尔类型不仅可以自行定义,同时也可以通过计算的来。
也就是使用比较运算符进行比较运算得到布尔类型的结果。

2.比较运算符

布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到。
如下代码:

result = 10 > 5
print(f'10 > 5 的结果是:{result},类型是:{type(result)}')

在这里插入图片描述

result = "itcast" == "itheima"
print(f'字符串itcast是否和itheima相等,结果是;{result},类型是:{type(result)}')

在这里插入图片描述
在这里插入图片描述

二、if语句的基本格式

1.if 判断语句语法

if 条件:条件成立执行语句1条件成立执行语句2....
# 定义变量
age = 30print(f'我今年已经{age}岁了')
# 进行判断
if age >= 18:  # 年龄大于等于18执行后续代码print('我已经成年')print('即将步入大学生活')# 无论年龄多大,都要执行下面代码
print('时间过得真快')

在这里插入图片描述
判断语句的结果,必须是布尔类型True或False

True会执行if内的代码语句,False则不会执行

注意:归属于if判断的代码语句块,需在前方填充4个空格缩进
Python通过缩进判断代码块的归属关系。

2.案例

在这里插入图片描述

print('欢迎来到黑马儿童乐园,儿童免费,成人收费')
age = int(input('请输入你的年龄:'))if age >= 18:print('您已成年,游玩需补票10元。')print('祝您游玩愉快。')

三、 if else 语句

1.语法

if 条件:条件成立执行语句
eles:条件不成立执行语句

示例:

在这里插入图片描述

注意事项:

  1. else后,不需要判断条件
  2. 和if的代码块一样,else的代码块同样需要4个空格作为缩进

2.案例

在这里插入图片描述

print('欢迎来到黑马动物园')
height= int(input('请输入你的身高(cm):'))if height >= 120:print('您的身高超出120cm,游玩需补票10元。')
else:print('您的身高未超出120cm,可以免费游玩。')print('祝您游玩愉快。')

四 if elif else语句

某些场景下,判断条件不止一个,可能有多个可以用if elif else 语句实现

1.语法

if 条件1:条件1成立执行语句...
elif 条件2:条件2成立执行语句...
elif 条件N:条件N成立执行语句...
else:条件不成立执行语句

示例:

在这里插入图片描述

print('欢迎来到黑马动物园')
height= int(input('请输入你的身高(cm):'))
vip_level = int(input('请输入你的vip级别(1-5):'))if height < 120:print('您的身高未超出120cm,可以免费游玩。')
elif vip_level >3 :print('您的vip级别大于3,可以免费游玩。')
else:print('游玩需补票10元。')print('祝您游玩愉快。')

注意:elif 语句可以写多个。

在这里插入图片描述

判断是互斥且有顺序的。

  • 满足1(如图编号)将不会理会2和3
  • 满足2,将不会理会3
  • 1、2、3均不满足,进入else

else也可以省略不写,效果等同3个独立的if判断,空格缩进同样不可省略

五、判断语句的嵌套

有很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。
对这种需求,嵌套判断语句可以实现

在这里插入图片描述
对于这种需求,我们可以:自由组合 if elif else,完成特定需求的要求

1.语法

在这里插入图片描述
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if
嵌套的关键点,在于:空格缩进
通过空格缩进,来决定语句之间的:层次关系

在这里插入图片描述

如图:

  • 判断有2层
  • 当外层if满足条件(图中编号1)时,才会执行内层if判断(图中编号2)
  • 当外层if(编号1)不满足,直接执行外层esle

六、实战案例

案例需求:

定义一个数字(1~10,随机产生),通过3次判断来猜出来数字

案例要求:

  1. 数字随机产生,范围1-10
  2. 有3次机会猜测数字,通过3层嵌套判断实现
  3. 每次猜不中,会提示大了或小了

提示,通过如下代码,可以定义一个变量num,变量内存储随机数字。

import random
num = random.randint(1,10)

实现代码:

"""
演示判断语句的实战案例:终极猜数字
"""# 1. 构建一个随机的数字变量
import random
num = random.randint(1, 10)guess_num = int(input("输入你要猜测的数字:"))# 2. 通过if判断语句进行数字的猜测
if guess_num == num:print("恭喜,第一次就猜中了")
else:if guess_num > num:print("你猜测的数字大了")else:print("你猜测的数字小了")guess_num = int(input("再次输入你要猜测的数字:"))if guess_num == num:print("恭喜,第二次猜中了")else:if guess_num > num:print("你猜测的数字大了")else:print("你猜测的数字小了")guess_num = int(input("第三次输入你要猜测的数字:"))if guess_num == num:print("第三次猜中了")else:print("三次机会用完了,没有猜中。")

相关文章:

Python-第三天 Python判断语句

Python-第三天 Python判断语句一、 布尔类型和比较运算符1.布尔类型2.比较运算符二、if语句的基本格式1.if 判断语句语法2.案例三、 if else 语句1.语法2.案例四 if elif else语句1.语法五、判断语句的嵌套1.语法六、实战案例一、 布尔类型和比较运算符 1.布尔类型 布尔&…...

失手删表删库,赶紧跑路?!

在数据资源日益宝贵的数字时代公司最怕什么&#xff1f;人还在&#xff0c;库没了是粮库、车库&#xff0c;还是小金库&#xff1f;实际上&#xff0c;这里的“库”是指的数据库Ta是公司各类信息的保险柜小到企业官网和客户信息大到金融机构的资产数据和国家秘密即便没有跟数据…...

技术树基础——16排它平方数(Bigdecimal,int,string,数组的转换)

题目&#xff1a;03879 * 203879 41566646641这有什么神奇呢&#xff1f;仔细观察&#xff0c;203879 是个6位数&#xff0c;并且它的每个数位上的数字都是不同的&#xff0c;并且它平方后的所有数位上都不出现组成它自身的数字。具有这样特点的6位数还有一个&#xff0c;请你…...

04动手实践:手把手带你实现gRPC的Hello World

这篇文章就从实践的角度出发,带大家一起体验一下gRPC的Hello World。文中的代码将全部使用Go语言实现,使用到的示例也是GitHub上提供的grpc-go,下面我们开始: Hello World官方示例 首先我们要clone GitHub上gRPC的源代码到我们本地 git clone https://github.com/grpc/g…...

区块链技术与应用1——BTC-密码学原理

文章目录比特币中的密码学原理1. 哈希函数2. 数字签名3. 比特币中的哈希函数和数字签名简单介绍&#xff1a;比特币与以太坊都是以区块链技术为基础的两种加密货币&#xff0c;因为他们应用最广泛&#xff0c;所以讲区块链技术一般就讲比特币和以太坊。比特币中的密码学原理 1…...

PyTorch学习笔记:data.WeightedRandomSampler——数据权重概率采样

PyTorch学习笔记&#xff1a;data.WeightedRandomSampler——数据权重概率采样 torch.utils.data.WeightedRandomSampler(weights, num_samples, replacementTrue, generatorNone)功能&#xff1a;按给定的权重(概率)[p0,p1,…,pn−1][p_0,p_1,\dots,p_{n-1}][p0​,p1​,…,pn…...

SpringMVC对请求参数的处理

如何获取SpringMVC中请求中的信息 &#xff1f; 默认情况下&#xff0c;可以直接在方法的参数中填写跟请求参数一样的名称&#xff0c;此时会默认接受参 数 &#xff0c;如果有值&#xff0c;直接赋值&#xff0c;如果没有&#xff0c;那么直接给空值 。Controller RequestMapp…...

12年老外贸的经验分享

回想这12年的经历&#xff0c;很庆幸自己的三观一直是正确的&#xff0c;就是买家第一不管什么原因&#xff0c;只要你想退货&#xff0c;我都可以接受退款。不能退给上级供应商&#xff0c;我就自己留着&#xff0c;就是为了避免因为这个拒收而失去买家。不管是什么质量原因&a…...

电子电路中的各种接地(接地保护与GND)

前言多年以前&#xff0c;雷雨天气下&#xff0c;建筑会遭遇雷击&#xff0c;从而破坏建筑以及伤害建筑内的人&#xff0c;为了避免雷击的伤害&#xff0c;人们发明了避雷针&#xff0c;并将避雷针接地线&#xff0c;从而引导雷击产生的电流经过地线流入到地下。地线&#xff1…...

php实现农历公历日期的相互转换

农历&#xff08;Lunar calendar&#xff09;和公历&#xff08;Gregorian calendar&#xff09;是两种不同的日历系统。公历是基于太阳和地球的运动来计算时间的&#xff0c;而农历是基于月亮的运动来计算时间的。农历中的月份是根据月亮的相对位置来确定的&#xff0c;而公历…...

基于SpringBoot的房屋租赁管理系统的设计与实现

基于SpringBoot的房屋租赁管理系统的设计与实现 1 绪论 1.1 课题来源 随着社会的不断发展以及大家生活水平的提高&#xff0c;越来越多的年轻人选择在大城市发展。在大城市发展就意味着要在外面有一处安身的地方。在租房的过程中&#xff0c;大家也面临着各种各样的问题&…...

一文带你为PySide6编译MySQL插件驱动

1.概述 最近使用PySide6开发程序&#xff0c;涉及与MySQL的数据交互。但是qt官方自pyqt5.12&#xff08;记不太清了&#xff09;以后不再提供MySQL的插件驱动&#xff0c;只能自己根据qt的源码编译。不过网上大部分都是qt5的MySQL驱动的编译教程。后来搜到了一个qt6的编译教程…...

图论算法:树上倍增法解决LCA问题

文章目录树上倍增法&#xff1a; LCA问题树上倍增法&#xff1a; LCA问题 树上倍增法用于求解LCA问题是一种非常有效的方法。 倍增是什么&#xff1f; 简单来说&#xff0c;倍增就是 1 2 4 8 16 … 2^k 可以发现倍增是呈 2的指数型递增的一类数据&#xff0c;和二分一样&…...

Java线程池中submit() 和 execute()方法有什么区别

点个关注&#xff0c;必回关 文章目录一. execute和submit的区别与联系1、测试代码的整体框架如下&#xff1a;2、首先研究Future<?> submit(Runnable task)和void execute(Runnable command)&#xff0c;3、submit(Runnable task, T result) 方法可以使submit执行完Run…...

Vue.extend和VueComponent的关系源码解析

目录 0.概念解释 前言 需求分析 Vue.extend 编程式的使用组件 源码分析 0.概念解释 Vue.extend和VueComponent是Vuejs框架中创建组件的两种不同方式。Vue.extend方法能够让你根据Vue对象&#xff08;继承&#xff09;来定义一个新的可重用的组件构造器。而VueComponent方…...

【动态规划】01背包问题(滚动数组 + 手画图解)

01背包除了可以用形象的二维动态数组表示外&#xff0c;还可以使用空间复杂度更低的一维滚动数组。 目录 文章目录 前言 一、滚动数组的基本理解 二、确定dp及其下标含义 三、确定递推公式 四、确定初始化 五、确定遍历顺序 1.用物品&#xff08;正序&#xff09;遍历背…...

javaEE 初阶 — 超时重传机制

文章目录超时重传机制1. 数据重复传输问题2. 如何解决数据重复传输问题3. 重传次数问题TCP 的工作机制&#xff1a;确认应答机制 超时重传机制 如果传输数据的时候丢包了该怎么办&#xff1f; 利用 超时重传&#xff0c;也就是超过了一定的时间&#xff0c;如果还没响应就重新…...

小米5x wlan无法打开解决

诱因&#xff1a;想要利用空置设备做节点服务器或者边缘计算&#xff0c;因此解锁并刷了magisk&#xff0c;印象中在刷之前wlan已经无法打开无法进行wifi联网 表现&#xff1a; 1 WLAN开关无法打开&#xff0c;或者虚假打开&#xff0c;无法扫描wifi 2 设置->我的设备->全…...

负载均衡之最小活跃数算法

文章目录[toc]一、概念二、场景与设计思路三、实现四、代码下载一、概念 活跃数 集群中各实例未处理的请求数。 最小活跃数 集群中各个实例&#xff0c;哪个实例未处理的请求数据最小&#xff0c;就称之为最小活跃数。 二、场景与设计思路 场景 以获取微服务地址为场景。 设计…...

JavaScript 评测代码运行速度的几种方法

一、使用 performance.now() API 在 JavaScript 中&#xff0c;可以使用 performance.now() API 来评测代码的运行速度。该 API 返回当前页面的高精度时间戳&#xff0c;您可以在代码执行前后调用它来计算代码执行所需的时间。 例如&#xff1a; let t0 performance.now();…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...