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

news2024/11/16 3:50:19

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:

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

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

相关文章

17.Golang channel的基本定义及使用

目录 概述实践无缓冲 channel代码结果 缓冲 channel代码结果 channel的关闭特点代码结果range代码结果 select channel代码结果 结束 概述 此篇文章介绍 channel 的用法 无缓冲 channel缓冲 channelchannel的关闭特点range channelselect channel 每一种&#xff0c;配上完整…

Flutter 和 Android原生(Activity、Fragment)相互跳转、传参

前言 本文主要讲解 Flutter 和 Android原生之间&#xff0c;页面相互跳转、传参&#xff0c; 但其中用到了两端相互通信的知识&#xff0c;非常建议先看完这篇 讲解通信的文章&#xff1a; Flutter 与 Android原生 相互通信&#xff1a;BasicMessageChannel、MethodChannel、…

075:vue+mapbox 利用高德地址逆转换,点击地图,弹出地址信息

第075个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中利用高德逆地理编码,点击地图,弹出某点坐标和地址信息。这里要仔细阅读高德地图的逆编码API,同时要注意的是,这种转换在中国很好用,到了欧美国家就不好使了。同时这个底图是天地图的图像和标记。 直接…

如何在Raspberry Pi上启用SSH并结合cpolar内网穿透实现公网远程访问本地树莓派

文章目录 如何通过 SSH 连接到树莓派步骤1. 在 Raspberry Pi 上启用 SSH步骤2. 查找树莓派的 IP 地址步骤3. SSH 到你的树莓派步骤 4. 在任何地点访问家中的树莓派4.1 安装 Cpolar4.2 cpolar进行token认证4.3 配置cpolar服务开机自启动4.4 查看映射到公网的隧道地址4.5 ssh公网…

React16源码: React中处理hydrate的核心流程源码实现

hydrate 1 &#xff09;概述 hydrate 在react当中不算特别重要, 但是很多时候会用到的一个API这个 API 它主要作用就是在进入第一次渲染的时候&#xff0c;如果本身 dom 树上面已经有一个dom结构存在是否可以去利用这一部分已经存在的dom&#xff0c;然后去避免掉在第一次渲染…

全国疫情实时监测系统(附源码)

目录 一.项目背景 1.有力支持疫情防控知识传播 2.迅速锁定“涉疫”人员流动轨迹 3.开展疫情发展态势预测与溯源 4.一图胜过千言万语&#xff01;&#xff01;&#xff01; 二.研究过程&#xff08;项目技术的利用&#xff09; 1.总述 2.所用技术介绍 2.1Python 2.2Pyt…

免费的ChatGPT网站(7个)

还在为找免费的chatGPT网站或者应用而烦恼吗&#xff1f;博主归纳总结了7个国内非常好用&#xff0c;而且免费的chatGPT网站&#xff0c;AI语言大模型&#xff0c;我们都来接触一下吧。 免费&#xff01;免费&#xff01;免费&#xff01;...&#xff0c;建议收藏保存。 1&…

TPH-YOLOv5:基于Transformer预测头改进的YOLOv5开发构建麦穗检测计数分析系统

关于小麦麦穗或者是麦粒相关的开发实践不多&#xff0c;但前文也有所涉及&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《基于轻量级yolov5nCBAM开发构建全球小麦麦穗智能检测计数系统》 《基于YOLOv5[n/s/m/l/x]全系列参数模型开发构建小麦麦穗颗粒智能化精准检…

常见序列化的优劣:pb、avro、json、hessian

概念 &#xff08;1&#xff09;基础概念和用途 序列化和反序列本质上就是对象和字节数组的转换&#xff1a; 序列化时&#xff0c;将Java对象编码为byte数组 反序列化&#xff0c;则是将byte数组转换为Java对象 序列化用途&#xff1a; 1、在网络上传送对象的字节序列 2、…

Flink实战五_状态机制

接上文&#xff1a;Flink实战四_TableAPI&SQL 在学习Flink的状态机制之前&#xff0c;我们需要理解什么是状态。回顾我们之前介绍的很多流计算的计算过程&#xff0c;有些计算方法&#xff0c;比如说我们之前多次使用的将stock.txt中的一行文本数据转换成Stock股票对象的ma…

LTC5548 具宽带 DC 至 6GHz IF 的 2GHz 至 14GHz 微波混频器

优势和特点 上变频或下变频高 IIP3&#xff1a;在 5.8GHz 为 24.4dBm在 9GHz 为 21.4dBm7.1dB 转换损耗 (在 5.8GHz)15.2dBm 输入 P1dB (在 5.8GHz)集成型 LO 缓冲器&#xff1a;0dBm LO 驱动可选的集成型 LO 倍频器低 LO-RF 泄漏&#xff1a;< –30dBm50Ω 宽带匹配 RF 和…

Hadoop3.x基础(2)- HDFS

来源&#xff1a;B站尚硅谷 目录 HDFS概述HDFS产出背景及定义HDFS优缺点HDFS组成架构HDFS文件块大小&#xff08;面试重点&#xff09; HDFS的Shell操作&#xff08;开发重点&#xff09;基本语法命令大全常用命令实操准备工作上传下载HDFS直接操作 HDFS的API操作HDFS的API案例…

01神经网络的理论及实现

感知机的缺点就是需要设置合适的权重&#xff0c;而权重的设置都是人工操作的。 1、从感知机到神经网络 重新画出感知机的模型&#xff0c;在图上加上偏置&#xff0c;由于偏置始终为1&#xff0c;所以颜色加深。 图1-1 感知机模型 引入新函数(激活函数&#xff09;&#xff…

Zookeeper分布式命名服务实战

目录 分布式命名服务 分布式API目录 分布式节点的命名 分布式的ID生成器 分布式的ID生成器方案&#xff1a; 基于Zookeeper实现分布式ID生成器 基于Zookeeper实现SnowFlakeID算法 分布式命名服务 命名服务是为系统中的资源提供标识能力。ZooKeeper的命名服务主要是利用Z…

20240131在ubuntu20.04.6下使用whisper不同模式的比对

20240131在ubuntu20.04.6下使用whisper不同模式的比对 2024/1/31 16:07 首先你要有一张NVIDIA的显卡&#xff0c;比如我用的PDD拼多多的二手GTX1080显卡。【并且极其可能是矿卡&#xff01;】 2、请正确安装好NVIDIA最新的驱动程序和CUDA。可选安装&#xff01; 3、配置whisper…

大华智慧园区综合管理平台 bitmap 任意文件上传漏洞复现

0x01 产品简介 “大华智慧园区综合管理平台”是一款综合管理平台,具备园区运营、资源调配和智能服务等功能。平台意在协助优化园区资源分配,满足多元化的管理需求,同时通过提供智能服务,增强使用体验。 0x02 漏洞概述 大华智慧园区综合管理平台 /emap/webservice/gis/so…

麒麟系统—— openKylin 安装 Nginx

麒麟系统—— openKylin 安装 Nginx 一、准备工作1. 确保麒麟系统 openKylin 已经安装完毕。 二、下载 nginx三、解压与运行解压检查与编译安装编译运行 Nginx 是一款高性能的 HTTP 和反向代理服务器&#xff0c;广泛应用于 Web 服务器领域。本文将分享如何在麒麟系统&#xf…

正则表达式及文本处理三剑客(grep、sed、awk)

目录 一、正则表达式 1、正则表达式的概述 1.1 正则表达式的概念和作用 1.2 正则表达式支持的语言 1.3 正则表达式的优缺点 1.4 正则表达式的分类 1.4.1 基本正则表达式&#xff08;BRE&#xff09;&#xff1a; 1.4.2 扩展正则表达式&#xff08;ERE&#xff09;&…

「数据结构」1.初识泛型

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;Java数据结构 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 初识泛型 &#x1f349;前言&#x1f349;包装类&#x1f34c;装箱&拆箱 &#x1f349;泛型&#x1f34c;擦除机制&#x1f…

爬虫学习笔记-Cookie登录古诗文网

1.导包请求 import requests 2.获取古诗文网登录接口 url https://so.gushiwen.cn/user/login.aspxfromhttp%3a%2f%2fso.gushiwen.cn%2fuser%2fcollect.aspx # 请求头 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like …