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

news2025/7/19 18:04:06

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 = 30

if 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.coloradmin.cn/o/1281120.html

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

相关文章

【uni-app】赋予你的APP(Android原生)小程序开发能力

采用DCloud(数字天堂&#xff08;北京&#xff09;网络技术有限公司)的uniMPsdk(uni小程序SDK)&#xff0c;是为原生App打造的可运行基于 uni-app 开发的小程序前端项目的框架&#xff0c;从而帮助原生App快速获取小程序的能力。 uni-app文档地址(小程序开发人员开发用) uniMP…

冗余链路和生成树协议

文章目录 冗余链路生成树协议 冗余链路 背景&#xff1a;在许多交换机或者交换机设备组成的网络环境中&#xff0c;通常都使用一些备份连接&#xff0c;来提高网络的健全。在金融网中A和B之间不止一条线路&#xff0c;保证网络的安全性能。备份连接也叫做冗余链路 冗余链路带…

Xshell会话文件解密获取密码

Xshell会话文件解密获取密码 开发了一个小工具用于获取已存储的xshell会话密码功能简介截图展示下载地址 开发了一个小工具用于获取已存储的xshell会话密码 在日常开发中&#xff0c;服务器太多&#xff0c;密码记不住。使用xshell管理服务器会话&#xff0c;记住密码&#xf…

详解递归锁,以及递归锁与其他同步机制的区别

什么是递归锁 递归锁是一种多线程同步机制&#xff0c;用于解决线程在多次获取同一个锁时产生死锁的问题。在递归锁中&#xff0c;同一个线程可以多次获取同一个锁&#xff0c;而不会造成死锁。 递归锁具有两个主要操作&#xff1a;上锁&#xff08;lock&#xff09;和解锁&a…

python 自主学习笔记

文章目录 前言相关教程模板字符串JavaScriptC#Python 临时变量C#的ValueTuplePython字典 自定义模块化封装的文件路径问题解决方案 暂时结束 前言 最近在学halcon&#xff0c;机器视觉&#xff0c;越学越发现&#xff0c;python是无法避免的语言。因为python用途实在是太广了。…

深度解析:整数和浮点数在内存中的存储

深度解析&#xff1a;整数和浮点数在内存中的存储 引言 在计算机科学中&#xff0c;理解整数和浮点数在内存中的存储方式是深入学习的关键一步。这篇博客将带你深入探讨整数和浮点数的内存表示&#xff0c;并通过代码实例详细解析其存储结构。 整数的内存存储 对于整形来说&a…

Redis 数据结构详解

分类 编程技术 Redis 数据类型分为&#xff1a;字符串类型、散列类型、列表类型、集合类型、有序集合类型。 Redis 这么火&#xff0c;它运行有多块&#xff1f;一台普通的笔记本电脑&#xff0c;可以在1秒钟内完成十万次的读写操作。 原子操作&#xff1a;最小的操作单位&a…

【开源】基于Vue+SpringBoot的音乐平台

项目编号&#xff1a; S 055 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S055&#xff0c;文末获取源码。} 项目编号&#xff1a;S055&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示 四、核心代码4.1 查询单首…

超大规模集成电路设计----基本概念(二)

本文仅供学习&#xff0c;不作任何商业用途&#xff0c;严禁转载。绝大部分资料来自----数字集成电路——电路、系统与设计(第二版)及中国科学院段成华教授PPT 超大规模集成电路设计----基本概念&#xff08;二&#xff09; 简短的历史回顾(A Brief Historical Perspective)第…

栈和队列OJ题——15.循环队列

15.循环队列 622. 设计循环队列 - 力扣&#xff08;LeetCode&#xff09; * 解题思路&#xff1a; 通过一个定长数组实现循环队列 入队&#xff1a;首先要判断队列是否已满&#xff0c;再进行入队的操作&#xff0c;入队操作需要考虑索引循环的问题&#xff0c;当索引越界&…

SpringBoot MyBatis连接数据库 查询数据(注解方式)

创建项目时选择依赖 配置数据库连接 在resources中的 application.properties 配置文件进行连接的配置 #驱动名称 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver#连接地址 spring.datasource.urljdbc:mysql://10.20.22.11:26954/canteen#数据库用户名 spring.d…

基于YOLOv7算法的的高精度实时通用目标检测识别系统(PyTorch+Pyside6+YOLOv7)

摘要&#xff1a;基于YOLOv7算法的高精度实时检测识别系统可用于日常生活中检测与定位多种目标&#xff0c;此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别&#xff0c;同时本系统还支持检测结果可视化与导出。本系统采用YOLOv7目标检测算法来训练数据集…

工作几年了,你真的懂 Redis 嘛?

大家好&#xff0c;我是伍六七。一个专注于输出 AI 编程内容的在职大厂资深程序员&#xff0c;全国最大 AI 付费社群破局初创合伙人&#xff0c;关注我一起破除 35 诅咒。 Redis 基本上是大部分技术公司都会使用的缓存框架&#xff0c;但是我发现很多程序员其实并不懂 Redis。 …

RocketMQ- 深入理解RocketMQ的消息模型

1、RocketMQ客户端基本流程 ​ RocketMQ基于Maven提供了客户端的核心依赖&#xff1a; <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>4.9.5</version> </dependency&…

java消息中间件简介

一、为什么要使用消息中间件 消息中间件就是可以省去繁琐的步骤&#xff0c;直达目的&#xff0c;怎么讲呢&#xff0c;就是比如你想很多人&#xff0c;知道你的动态&#xff0c;而知道的人可能手机没电&#xff0c;可能手机信号不好&#xff0c;可能手机不在服务区&#xff0c…

Spring MVC学习随笔-控制器(Controller)开发详解:控制器跳转与作用域(二)视图模板、静态资源访问

学习视频&#xff1a;孙哥说SpringMVC&#xff1a;结合Thymeleaf&#xff0c;重塑你的MVC世界&#xff01;&#xff5c;前所未有的Web开发探索之旅 衔接上文Spring MVC学习随笔-控制器(Controller)开发详解&#xff1a;控制器跳转与作用域&#xff08;一&#xff09; SpingMVC中…

网络和Linux网络_9(应用层和传输层_笔试选择题)

目录 一. 常见应用协议等等 1. 以下不是合法HTTP请求方法的是( ) 2. 文件传输使用的协议是&#xff08;&#xff09; 3. HTTP1.1的请求方法不包括&#xff1f;() 4. http状态码中&#xff0c;( )表示访问成功&#xff0c;( )表示坏请求&#xff0c;( )表示服务不可用。() …

Visual Studio 2022+Python3.11实现C++调用python接口

大家好&#xff01;我是编码小哥&#xff0c;欢迎关注&#xff0c;持续分享更多实用的编程经验和开发技巧&#xff0c;共同进步。 查了一些资料&#xff0c;不是报这个错&#xff0c;就是报哪个错&#xff0c;没有找到和我安装的环境的一致的案例&#xff0c;于是将自己的摸索分…

冲突域和广播域

文章目录 冲突域广播域 冲突域 在网络内部两个数据帧同时进行传输时&#xff0c;产生与发生冲突的区域&#xff0c;所有共享介质都是一个冲突域。冲突域时基于第一层&#xff0c;物理层的。 集线器和中继器因为都在物理层&#xff0c;没有MAC地址表&#xff0c;所以不能隔离冲…

Spring Cloud Alibaba简介

1、简介 Spring Cloud阿里(https://sca.aliyun.com/en-us/)为分布式应用开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件&#xff0c;使您可以轻松地使用Spring Cloud开发应用程序。 有了Spring Cloud阿里&#xff0c;你只需要添加一些注释和少量的配置&#…