Python学习路线 - Python语言基础入门 - 判断语句

Python学习路线 - Python语言基础入门 - 判断语句

    • 前言
    • 布尔类型和比较运算符
      • 布尔类型
        • 布尔类型的定义
      • 比较运算符
    • if语句的基本格式
      • if判断语句
    • if else 语句
    • if elif else 语句
    • 判断语句的嵌套
    • 实战案例

前言

进行逻辑判断,是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。
在这里插入图片描述

为什么学习判断语句
判断在程序中广泛应用,如果没有它,这些功能都难以实现。
在这里插入图片描述

布尔类型和比较运算符

布尔类型

进行判断,只有2个结果:

在这里插入图片描述

Python中常用的有6种值(数据)的类型

类型描述说明
数字(Number)支持
1》整数(int)
2》浮点数(float)
3》复数(complex)
4》布尔(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数据集合
布尔类型的定义

布尔类型的字面量:

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

定义变量存储布尔类型数据:

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

比较运算符

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

运算符描述示例
==判断内容是否相等,满足为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

代码示例:

"""
演示布尔类型的定义
以及比较运算符的应用
"""
# 定义变量存储布尔类型的数据
bool_1 = True
bool_2 = False
print(f"bool_1变量的内容是:{bool_1},类型是:{type(bool_1)}")
print(f"bool_2变量的内容是:{bool_2},类型是:{type(bool_2)}")
# 比较运算符的使用
# ==!=><>=<=
# 演示进行内容的相等比较
num1 = 10
num2 = 10
print(f"10 == 10的结果是:{num1 == num2}")num1 = 10
num2 = 15
print(f"10 != 15的结果是:{num1 != num2}")name1 = "mry"
name2 = "mry"
print(f"mry == mry 结果是:{name1 == name2}")# 演示大于小于,小于等于小于等于的比较运算
num1 = 10
num2 = 5
print(f"10 > 5 结果是:{num1 > num2}")
print(f"10 < 5 结果是:{num1 < num2}")num1 = 10
num2 = 10
print(f"10 >= 10 结果是:{num1 >= num2}")
print(f"10 <= 10 结果是:{num1 <= num2}")

在这里插入图片描述

if语句的基本格式

if判断语句

在这里插入图片描述
代码示例:

"""
演示Python判断语句:if语句的基本格式应用
"""
age = 30if age >= 18:print("我已经成年了")print("即将步入大学生活")print("时间过的真快呀")

在这里插入图片描述
判断语句的结果,必须是布尔类型True或False
True会执行if内的代码语句
False则不会执行

练习案例:成年人判断
结合前面学习的input输入语句,完成如下案例:
1.通过input语句,获取键盘输入,为变量age赋值。(注意转换成数字类型)
2.通过if判断是否是成年人,满足条件则输出提示信息,如下:
在这里插入图片描述

"""
演示练习题:成年人判断
"""# 获取键盘输入
age = int(input("请输入你的年龄:"))# 通过if判断是否是成年人
if age >= 18:print("您已成年,游玩需要买票,10元。")print("祝你游玩快乐")

if else 语句

在这里插入图片描述
代码示例:

"""
演示Python中if else的组合判断语句
"""
age = int(input("请输入你的年龄:"))if age >= 18:print("您已成年,需要买票10元。")
else:print("您未成年,可以免费游玩。")

在这里插入图片描述

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

练习案例:我要买票吗
通过input语句获取键盘输入的身高
判断身高是否超过120cm,并通过print给出提示信息。
在这里插入图片描述
在这里插入图片描述

"""
演示if else练习题:我要买票吗
"""# 定义键盘输入获取身高数据
height = int(input("请输入你的身高(cm):"))# 通过if进行判断
if height > 120:print("您的身高超出120CM,需要买票,10元。")
else:print("您的身高低于120CM,可以免费游玩。")print("祝你游玩愉快")

if elif else 语句

在这里插入图片描述

代码示例:

"""
演示if elif else 多条件判断语句的使用
"""height = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的VIP等级(1-5):"))# 通过if判断,可以使用多条件判断的语法
# 第一个条件就是if
if height < 120:print("身高小于120cm,可以免费。")
elif vip_level > 3:print("vip级别大于3,可以免费。")
else:print("不好意思,条件都不满足,需要买票10元")

在这里插入图片描述

空格缩进同样不可省略

练习案例:猜猜心理数字
1.定义一个变量,数字类型,内容随意。
2.基于input语句输入猜想的数字,通过if和多次elif的组合,判断猜想数字是否心里数字一致。
在这里插入图片描述

"""
演示if elif else练习题:猜猜心里数字
"""# 定义一个变量数字
num = 5# 通过键盘输入获取猜想的数字,通过多少if 和 elif的组合进行猜想比较
if int(input("请猜一个数字:")) == num:print("恭喜第一次就猜对了呢")
elif int(input("猜错了,再猜一次:")) == num:print("猜对了")
elif int(input("猜错了,再猜一次:")) == num:print("恭喜,最后一次机会,你猜对了")
else:print("Sorry 猜错了")

判断语句的嵌套

在这里插入图片描述
许多逻辑的判断,是嵌套的,多层次的。
对于这种需求,我们可以:自由组合 if elif else,完成特定需求的要求

基础语法格式如下:
在这里插入图片描述
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if

嵌套的关键点,在于:空格缩进
通过空格缩进,来决定语句之间的:层次关系

代码示例:

"""
演示判断语句的嵌套使用
"""if int(input("你的身高是多少:")) > 120:print("身高超出限制,不可以免费")print("但是,如果vip级别大于3,可以免费")if int(input("你的vip级别是多少:")) > 3:print("恭喜你,vip级别达标,可以免费")else:print("Sorry 你需要买票10元")else:print("欢迎小朋友,免费游玩。")

在这里插入图片描述

注意:
1.嵌套判断语句可以用于多条件、多层次的逻辑判断
2.嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断
3.嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系

实战案例

案例需求:
定义一个数字 (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("三次机会用完了,没有猜中。")

在这里插入图片描述

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

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

相关文章

Powerbuilder9.0 安装是一直卡在setup is running无法继续

这种情况是安装时&#xff0c;他后面弹出来一个提示框&#xff0c;但是因为其他进程的干扰&#xff0c;我们无法看到也就无法继续了。 我看到这个文章&#xff1a;https://blog.csdn.net/FLORY_/article/details/105244102 使用他说的方法的确有效。过程 1. 打开任务管理器 …

子查询在SQL中的应用和实践

作者&#xff1a;CSDN-川川菜鸟 在SQL中&#xff0c;子查询是一种强大的工具&#xff0c;用于解决复杂的数据查询问题。本文将深入探讨子查询的概念、类型、规则&#xff0c;并通过具体案例展示其在实际应用中的用途。 文章目录 子查询概念子查询的类型子查询的规则实际案例分析…

Photoshop Elements 2023 v21.0(ps简化版)

Photoshop Elements 2023是一款ps简化版图像处理软件&#xff0c;它加入了一些新的功能和工具&#xff0c;以帮助用户更高效地处理图片。 新功能&#xff1a;软件加入了黑科技&#xff0c;采用Adobe Sensei AI技术&#xff0c;主打人工智能&#xff0c;一键P图&#xff0c;新增…

Demystifying DeFi MEV Activities in Flashbots Bundle

目录 笔记后续的研究方向摘要引言贡献 Demystifying DeFi MEV Activities in Flashbots Bundle CCS 2023 笔记 本文介绍了对 Flashbots 捆绑包中的去中心化金融 &#xff08;DeFi&#xff09; 矿工可提取价值 &#xff08;MEV&#xff09; 活动的研究。作者开发了ActLifter&am…

文献速递:多模态影像组学文献分享(一种诊断方法结合了多模态放射组学和基于腰椎CT及X光的机器学习模型,用于骨质疏松症)

文献速递&#xff1a;多模态影像组学文献分享:(一种诊断方法结合了多模态放射组学和基于腰椎CT及X光的机器学习模型&#xff0c;用于骨质疏松症)** Title 题目 A diagnostic approach integrated multimodal radiomics with machine learning models based on lumbar spine CT…

Codeforces Round 913 (Div. 3) A~E

目录 A. Rook 问题分析: B. YetnotherrokenKeoard 问题分析: C. Removal of Unattractive Pairs 问题分析: D. Jumping Through Segments 问题分析: E. Good Triples 问题分析: A. Rook 问题分析: 给一个棋子将其同行同列的位置输出 #include<bits/s…

❀My学习Linux命令小记录(14)❀

目录 ❀My学习Linux命令小记录&#xff08;14&#xff09;❀ 56.man指令 57.whatis指令 58.info指令 59.--help指令 60.uname指令 ❀My学习Linux命令小记录&#xff08;14&#xff09;❀ 56.man指令 功能说明&#xff1a;查看Linux中的指令帮助。 &#xff08;ps.man命…

上门预约洗鞋店小程序

互联网洗鞋店小程序开发&#xff0c;结合洗鞋行业线下实际运营情况和经验&#xff0c;专为洗鞋人、洗鞋店打造的高效、实用、有价值的洗鞋私域流量管理软件系统。 帮助洗鞋人建立自己的私域流量&#xff0c;实现会员用户管理&#xff0c;用户与商家点对点互联互通&#xff0c;提…

工业级路由器在智能交通系统(ITS)中的创新应用

智能交通系统&#xff08;ITS&#xff09;作为一种先进的交通管理与控制系统&#xff0c;旨在提高交通运输系统的效率、安全性和便捷性。随着科技的不断发展&#xff0c;智能交通系统已经成为城市交通管理的重要组成部分。而工业级路由器作为一种可靠的网络通信设备&#xff0c…

使用Python内置库实现数据的加密与校验

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 数据的安全性是现代应用程序中不可忽视的一个重要方面。在Python中&#xff0c;我们可以利用内置的加密和校验库来保护敏感信息。本文将深入讨论如何使用Python内置库实现数据的加密和校验&#xff0c;为开发者提…

SQL Server 数据库,创建数据库并使用索引查询学员考试成绩

5.1索引 索引提供指针以指向存储在表中指定列的数据值&#xff0c;然后根据指定的次序排列这些指针&#xff0c;再跟随 指针到达包含该值的行。 5.1.1什么是索引 数据库中的索引与书籍中的目录类似。在一本书中&#xff0c;无须阅读整本书&#xff0c;利用目录就可以快速查 找…

『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium

『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium 1 关于Android UI自动化测试2 Appium简介3 Appium原理3.1 Android端过程3.2 iOS端过程 4 补充内容5 JDK下载6 JDK配置7 SDK下载8 SDK配置9 配置Android环境10 安装NodeJs11 解决node安…

今天刷basic

一 在kali里边链接这个服务器 ssh -p 25199 rootnode4.buuoj.cn 然后回车 yes 输入密码123456 ls查看发现什么都没有&#xff0c;cd ..返回上一级目录 ls 发现有flag.txt 查看文件得到flag flag{477f20d3-acd3-46e1-b50a-633e58b769c7}

Python中读写(解析)JSON文件的深入探究

目录 一、引言 二、如何读取JSON文件 三、如何写入JSON文件 四、如何解析JSON字符串 五、错误处理和异常处理 六、使用第三方库提高效率 七、总结 一、引言 在Python中&#xff0c;我们经常使用JSON&#xff08;JavaScript Object Notation&#xff09;格式来存储和传输…

计算机速成课Crash Course - 08. 指令和程序

今天开始计算机速成课Crash Course的系列讲解。 更多技术文章&#xff0c;全网首发公众号 “摸鱼IT” 锁定 -上午11点 - &#xff0c;感谢大家关注、转发、点赞&#xff01; 计算机速成课Crash Course - 08. 指令和程序 08. 指令和程序 上集我们把 ALU, 控制单元, RAM, 时钟…

基于Java SSM框架实现超市进销存购物商城管理系统项目【项目源码+论文说明】

基于java的SSM框架实现超市进销存购物商城管理系统演示 摘要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;社区生活超市管理系统当然也不能排除在外。社区生活超市管理系统…

【QT】容器类的迭代

迭代器(iterator)为访问容器类里的数据项提供了统一的方法&#xff0c;Qt有两种迭代器类&#xff1a;Java类型的迭代器和STL类型的迭代器。 Java类型的迭代器更易于使用&#xff0c;且提供一些高级功能&#xff0c;而STL类型的迭代器效率更高。 Qt还提供一个关键字foreach&…

ORACLE使用Mybatis-plus批量插入

ORACLE使用mybatis-plus自带的iservice.saveBatch方法时&#xff0c;会报DML Returing cannot be batch错误&#xff1a; 推测原因是oracle不支持insert into table_name (,) values &#xff08;&#xff0c;&#xff09;,&#xff08;&#xff09;的写法。且oracle不会自动生…

华为Watch Buds手表耳机声音小怎么办?试试这些方法

使用华为 WATCH Buds 的手表耳机的铁子们&#xff0c;你们有没有和我遇到同样的问题&#xff1a;刚用的时候音质超级好&#xff0c;但是用了一段时间后&#xff0c;偶尔会遇到耳机声音变小&#xff0c;甚至出现左右耳音量不一致的情况。 如果有的话&#xff0c;不用担心&#…

【libcurl库】安装及其编程访问百度首页(一)

一、Libcurl库简介 二、Libcurl等三方库的通用编译方法 库的配置、编译、安装 &#xff08;1&#xff09;安装位置的更改&#xff08;2&#xff09;编译、安装&#xff08;3&#xff09;预览 三、调用libcurl编程访问百度主页 编译&#xff08;编译时链接库、头文件路径&am…