Python笔记(二)—— Python判断语句

2.1  布尔类型和比较运算符

布尔类型用于表示:真和假

比较运算符用于计算:真和假

1. 布尔(bool)表示现实生活中的逻辑,即真和假

  • True表示真
  • False表示假

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

定义变量存储布尔类型数据:变量名称 = 布尔类型字面量

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

2. 比较运算符:==、!=、>、<、>=、<=

3. 演示布尔类型的定义以及比较运算符的使用

  • 定义变量存储布尔类型的数据          
bool_1 = True
bool_2 = False #True和False首字母要大写
print(f"bool_1的变量内容是:{bool_1},类型是:{type(bool_1)}")
print(f"bool_2的变量内容是:{bool_2},类型是:{type(bool_2)}")

        运行结果:

        

  • 比较运算符的使用
  1. 进行内容的相等比较                
num1 = 10
num2 = 10
print(f"10 == 10的结果是:{num1 == num2}")

num1 = 10
num2 = 15
print(f"10 != 15的结果是:{num1 != num2}")

name1 = "itcast"
name2 = "itheima"
print(f"itcast == itheima的结果是:{name1 == name2}")

        运行结果:

        

     2. 进行 >、<、>=、<= 的比较

num1 = 10
num2 = 5
print(f"10 > 5的结果是:{num1 > num2}")
print(f"10 < 5的结果是:{num1 < num2}")

num1 = 10
num2 = 11
print(f"10 >= 11的结果是:{num1 >= num2}")
print(f"10 <= 11的结果是:{num1 <= num2}")

        运行结果:

        

2.2  if语句的基本格式

if语句的基本格式

  if 要判断的条件:

        条件成立时,要做的事情

if 语句的基本格式应用:

age = 30

if age >= 18:
    print("我已经成年了")
    print("即将步入大学生活")

print("时间过的真快呀")

运行结果:

age = 10

if age >= 18:
    print("我已经成年了")
    print("即将步入大学生活")

print("时间过的真快呀")

运行结果:

注意:

1.判断语句的结果,必须是布尔类型True或False。True会执行if内的代码语句,False则不会执行

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

3.不要忘记判断条件后的:冒号

2.3  练习案例:成年人判断

代码源码,可以运行:

print("欢迎来到黑马儿童游乐场,儿童免费,成人收费。")
# 使用input函数输入年龄
age = int(input("请输入你的年龄:"))

# 使用if判断语句判断是否需要购票
if age >= 18:
    print("您已成年,游玩需要补票10元")

print("祝您游玩愉快")

 输出结果1:

输出结果2:

2.4  if else 语句

if else语句的基本格式

if 条件:

        满足条件要做的事

else:

        不满足条件时要做的事

if else的组合判断语句

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

输出结果:

注意:

1.else后,不需要判断条件,当if的条件不满足时,else执行

2.和if的代码块一样,else的代码块同样需要4个空格作为缩进

3.不要忘记else后的:冒号

2.5  练习案例:我要买票吗

代码源码,可以运行:

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

print("祝您游玩愉快。")

输出结果1:

输出结果2:

2.6  if elif else 语句

if elif else语句的基本格式

if  条件1:

        条件1满足应做的事情

elif  条件2:

        条件2满足应做的事情

 ... ...

elif 条件N:

        条件N满足应做的事情

else:

        所有条件都不满足应做的事情

1. 作用:可以完成多个条件的判断

2. if elif else 多条件判断语句的使用:

print("欢迎来到黑马动物园。")
height = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的vip等级(1-5):"))
day = int(input("请输入今天的日期(1-31):"))

if height < 120:
    print("您的身高小于120cm,可以免费游玩。")
elif vip_level > 3:
    print("您的vip等级大于3,可以免费游玩。")
elif day == 1:
    print("今天是1号免费日,可以免费游玩。")
else:
    print("不好意思,所有条件都不满足,需要购票。")

print("祝您游玩愉快。")

输出结果:

判断是互斥且有顺序的。

  • 满足1(如上图的编号)将不会理会2和3
  • 满足2,将不会理会3
  • 1、2、3均不满足,进入else
  • else也可以省略不写,效果等同3个独立的if判断
  • 空格缩进同样可省略

3. 可以将input语句写入判断条件中,节省代码量,代码如下:

print("欢迎来到黑马动物园。")
if int(input("请输入你的身高(cm):")) < 120:
    print("您的身高小于120cm,可以免费游玩。")
elif int(input("请输入你的vip等级(1-5):")) > 3:
    print("您的vip等级大于3,可以免费游玩。")
elif int(input("请输入今天的日期(1-31):")) == 1:
    print("今天是1号免费日,可以免费游玩。")
else:
    print("不好意思,所有条件都不满足,需要购票。")

print("祝您游玩愉快。")

注意:

1.elif可以写多个

2.判断是互斥且有序的,上一个条件满足就不会判断了

3.可以在条件判断中,直接写input语句,节省代码量。

2.7  练习案例:猜猜心里的数字

代码源码,可以运行:

#定义一个变量数字
num = 10
#通过键盘输入获取猜想的数字,通过多次if和elif的组合进行猜想比较
if int(input("请输入第一次猜想的数字:")) == num:
    print("恭喜第一次就猜对了。")
elif int(input("不对,再猜一次:")) == num:
    print("恭喜,猜对了。")
elif int(input("不对,再猜最后一次:")) == num:
    print("恭喜,最后一次机会,你猜对了。")
else:
    print("Sorry,全部猜错了,我想的是%d" %num)

输出结果:

2.8  判断语句的嵌套

又很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。

对于这种需求,嵌套判断语句可以实现。

许多逻辑的判断,是嵌套的,多层次的。

对于这种需求,我们可以:自由组合 if elif else,完成特定需求的要求。

嵌套判断语句的基本格式:

if  条件1:

        满足条件1做的事情1

        if  条件2:

                满足条件2做的事情2

如上,第二个if,属于第一个if内,只有第一个满足if条件,才会执行第二个if

嵌套的关键点,在于:空格缩进

通过空格缩进,来决定语句之间的:层次关系

判断语句的嵌套使用:

if int(input("你的身高是多少(cm):")) > 120:
    print("身高超出限制,不可以免费。")
    print("但是,如果vip级别大于3,可以免费")

    if int(input("你的vip级别是多少:")) > 3:
        print("恭喜你,vip级别达标,可以免费")
    else:
        print("Sorry 你需要买票10元")
else:
    print("欢迎小朋友,免费游玩。")

输出结果:

案例:

代码如下,可以运行:

age = 23
year = 3
level = 5
if age >= 18:
    print("你是成年人")
    if age < 30:
        print("你的年龄达标了")
        if year > 2:
            print("恭喜你,年龄和入职时间都达标,可以领取礼物")
        elif level > 3:
            print("恭喜你,年龄和级别达标,可以领取礼物")
        else:
            print("不好意思,尽管年龄达标,但是入职时间和级别都不达标")

    else:
        print("不好意思,年龄太大了")

else:
    print("不好意思,小朋友不可以领取")

输出结果:

注意:

1. 嵌套判断语句可以用于多条件、多层次的逻辑判断。

2.嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断。

3.嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系。

2.9  判断语句的综合案例

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

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

代码源码,可以运行:

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

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:
        if guess_num > num:
            print("你猜测的数字大了。")
        else:
            print("你猜测的数字小了。")

        guess_num = int(input("第三次输入你要猜测的数字:"))

        if guess_num == num:
            print("第三次猜中了。")
        else:
            print("三次机会用完了,没有猜中。")

输出结果1:

输出结果2:

输出结果3:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

检测CUDA 是否能访问GPU时回应速度慢【笔记】

SUPWEMICRO 418G-Q20X12 维护记录&#xff1a; 两台设备均已安装CUDA与Pytorch&#xff0c;在检测CUDA 是否能访问GPU&#xff0c;执行torch.cuda.is_available()命令时&#xff0c;一台设备速度秒回应True&#xff0c;但另外一台设备回应速度慢&#xff08;1分钟左右&#xff…

【HarmonyOS应用开发】ArkUI 开发框架-进阶篇-管理组件状态(九)

管理组件状态 一、概述 在应用中&#xff0c;界面通常都是动态的。下图所示&#xff0c;在子目标列表中&#xff0c;当用户点击目标一&#xff0c;目标一会呈现展开状态&#xff0c;再次点击目标一&#xff0c;目标一呈现收起状态。界面会根据不同的状态展示不一样的效果。 Ar…

Linux一些实用操作

学习笔记&#xff0c;记录以下课程中关于Linux的一些实用操作。黑马程序员新版Linux零基础快速入门到精通&#xff0c;全涵盖linux系统知识、常用软件环境部署、Shell脚本、云平台实践、大数据集群项目实战等_哔哩哔哩_bilibili 目录 1 各类小技巧&#xff08;快捷键&#xff…

【RT-DETR有效改进】 利用Damo-YOLO的RepGFPN改进特征融合层(高效重参数化Neck)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 本文给大家带来的改进机制是Damo-YOLO的RepGFPN(重参数化泛化特征金字塔网络),利用其优化RT-DETR的Neck部分,可以在不影响计算量的同时大幅度涨点(亲测在小目标和大目标检测的数据集上效果均表现良好涨点幅…

gitlab-runner注册到gitlab时报错:ERROR: Registering runner... failed xxxxxxxx

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

【Java】Springboot入门

学习目标 基于SpringBoot框架的程序开发步骤 熟练使用SpringBoot配置信息修改服务器配置 基于SpringBoot的完成SSM整合项目开发 一、SpringBoot简介 1. 入门案例 问题导入 SpringMVC的HelloWord程序大家还记得吗&#xff1f; SpringBoot是由Pivotal团队提供的全新框架&…

STM32低功耗模式

一、低功耗模式介绍 STM32 的低功耗模式有 3 种&#xff1a; 1)睡眠模式&#xff08;CM3 内核停止&#xff0c;外设仍然运行&#xff09; 2)停止模式&#xff08;所有时钟都停止&#xff09; 3)待机模式&#xff08;1.8V 内核电源关闭&#xff09; 在这三种低功耗模式中&#…

摄影分享|基于Springboot的摄影分享网站设计与实现(源码+数据库+文档)

摄影分享网站目录 目录 基于Springboot的摄影分享网站设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、图片素材管理 3、视频素材管理 4、公告信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐…

Unity_Timeline使用说明

Unity_Timeline使用说明 首先要找到工具吧&#xff1f;Unity2023.1.19f1c1打开如下&#xff1a; &#xff08;团结引擎没找见哪儿打开&#xff0c;可能是引擎问题吧&#xff1f;有知道的同学可以告诉我在哪儿打开&#xff09; Timelime使用流程&#xff1a; 打开之后会提示您…

全流程机器视觉工程开发(四)PaddleDetection C++工程化应用部署到本地DLL以供软件调用

前言 我们之前跑了一个yolo的模型&#xff0c;然后我们通过PaddleDetection的库对这个模型进行了一定程度的调用&#xff0c;但是那个调用还是基于命令的调用&#xff0c;这样的库首先第一个不能部署到客户的电脑上&#xff0c;第二个用起来也非常不方便&#xff0c;那么我们可…

node.js(nest.js控制器)学习笔记

nest.js控制器&#xff1a; 控制器负责处理传入请求并向客户端返回响应。 为了创建基本控制器&#xff0c;我们使用类和装饰器。装饰器将类与所需的元数据相关联&#xff0c;并使 Nest 能够创建路由映射&#xff08;将请求绑定到相应的控制器&#xff09;。 1.获取get请求传参…

什么可以用手机蓝牙控制LED???#串口通信【下】

什么可以用手机蓝牙控制LED&#xff1f;&#xff1f;&#xff1f;#串口通信【下】 前言预备知识1.小白玩串口控制的ASSII避坑1.1问题引入1.2解决问题 2.串口支持单词型指令控制2.1实现串口支持单词型指令控制的核心思路2.2利用字符数组来承接单词型指令2.3利用strstr函数来查找…

Java 面向对象进阶 03 static 注意事项、重新认识main方法(黑马)

案例代码如下&#xff1a; 非静态的方法虚拟机会自带一个关键字&#xff0c;如下&#xff1a; 但是不能手动出来&#xff0c;它的类型就是当前类&#xff1b; 通过输出this&#xff0c;得到当前s1,s2 的地址&#xff1b; 所以在输出时会有隐藏的this&#xff0c;所以this所指向…

java+springboot电影订票选座及评论网站影评系统ssm+vue

广大观影消费者需要知道自己的空闲时间&#xff0c;在自己可以接受的地理距离范围内&#xff0c;是否有感兴趣的影片可供观看&#xff0c;也需要清楚哪家影院在销售自己需要的电影票&#xff1b;同时手握电影排期及上映信息的电影院的运营者也急需根据消费者的观影需求实时调整…

肉食食材大数据平台(附源码)

目录 一.需求分析 1.项目背景 2.用户简介 3.术语定义 4.功能概述 二.概要设计 1.概要设计流程图 2.流程图详细说明 三.数据库设计 1.软件名称 2.概念结构设计 2.1电商模块 2.2猪肉今日价格模块 2.3大屏展示模块 2.3.1舆论舆情 2.3.2 省均价模块 2.3.3进出口模块…

Kafka下载安装及基本使用

目录 Kafka介绍 消息队列的作用 消息队列的优势 应用解耦 异步提速 削峰填谷 为什么要用Kafka Kafka下载安装 Kafka快速上手&#xff08;单机体验&#xff09; 1. 启动zookeeper服务 2. 启动kafka服务 3. 简单收发消息 Kakfa的消息传递机制 Kafka介绍 Apache Kafka…

pysyft框架中WebsocketClientWorker与WebsocketServerWorker的消息传输

引言 pysyft是基于pytorch的一个联邦学习框架&#xff08;虽然用起来很难受&#xff09;&#xff0c;通过内存管理实现联邦学习的模拟。 在pysyft中&#xff0c;WebsocketServerWorker充当数据的提供方&#xff08;数据存储方&#xff09;&#xff0c;而WebsocketClientWorker…

vue项目在public中编写一个json文件 并用http请求获取 模仿数据接口

我们前后端分离是经常存在 前端已经开发到需要接口 但后端还没开始的情况的 如果直接在js中写假数据 后面还要改不少东西 多少有点麻烦 我们可以 直接在 public 静态资源目录下创建一个json文件 这里 我取名叫 city.json 大家可以根据自己喜好给json文件命名 我这个json文件的…

深入浅出HBase:一文理解HBase基础概念(列存储、时间戳、key-value)、架构特点以及适合的使用场景

文章目录 一. HBase 数据模型1. 行存储与列式存储1.1. 行存储1.2. 列存储 2. HBase 数据模型2.1. 模型概览2.2. 列与列族2.3. 时间戳&#xff1a;定义数据版本2.4. HBase的Key-Value 三. HBase架构1. HBase读写流程简述2. HRegionServer内部内部数据流转&#xff1a;HRegion &l…

Proxy ARP

1.路由式ARP 路由式Proxy ARP就是使那些IP地址在同一网段却连接到不同物理网络上的设备能够相互通信的一种功能。 当PC1需要与S1通信时&#xff0c;由于目的IP地址与本机的IP地址为同一网段&#xff0c;因此PC1以广播形式发送ARP请求报文&#xff0c;请求PC2的MAC地址。但是&…