【Python学习篇】Python判断语句(四)

简介: 【Python学习篇】Python判断语句(四)

一、为什么学习判断语句

       判断在程序中广泛应用,如果没有它,这些功能都难以实现。

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

2.1 布尔类型

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

       是

       否

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

2.2 布尔类型的定义

布尔类型的字面量:

• True  表示真(是、肯定)

• False 表示假 (否、否定)

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

布尔类型不仅可以自行定义,同时也可以通过计算的来。

也就是使用比较运算符进行比较运算得到布尔类型的结果。

2.3 比较运算符

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

如下代码:

三、if语句的基本格式

3.1 if判断语句

当age为18时,执行结果:

当age为10时,执行结果:

3.2 if语句的注意点

判断语句的结果,必须是布尔类型True或False

True会执行if内的代码语句

False则不会执行

归属于if判断的代码语句块,需在前方填充4个空格缩进

Python通过缩进判断代码块的归属关系。

四、if else 语句

4.1 if else 判断语句

4.2  if else语句注意点

1. else后,不需要判断条件

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

五、if elif else语句

5.1 if elif else语句

5.2 if elif else语句 注意点

elif 语句可以写多个。

判断是互斥且有顺序的。

• 满足 1 (如图编号)将不会理会 2 和 3

• 满足 2 ,将不会理会 3

• 1 、 2 、 3 均不满足,进入 else

• else 也可以省略不写,效果等同 3 个独立的 if 判断

空格缩进同样不可省略

可以如上图,将input输入语句直接写入判断条件中。

节省代码量

六、判断语句的嵌套

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

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

6.1 判断语句的嵌套

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

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

基础语法格式如下:

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

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

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

简单嵌套:

如图:

• 判断有 2 层

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

• 当外层 if (编号 1 )不满足,直接执行外层 esle

自由组合嵌套,需求如下:

公司要发礼物,条件是:

1. 必须是大于等于18岁小于30岁的成年人

2. 同时入职时间需满足大于两年,或者级别大于3才可领取

如图:

• if elif else 可以自由组合

• 满足缩进的要求即可

七、实战案例

7.1 题目要求

案例需求:

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

案例要求:

       1.   数字随机产生,范围1-10

       2.   有3次机会猜测数字,通过3层嵌套判断实现

       3.   每次猜不中,会提示大了或小了

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

7.2 思路:

为了完成这个案例需求,首先确实需要用到Python的random模块来创建一个1到10之间的随机整数。然后,可以通过使用三次机会(三次尝试)来猜测这个数字,如果猜不中,根据输入和随机数字的比较,提示用户是猜大了还是猜小了。

先看看如何生成一个1到10之间的随机整数:

1. import random
2. 
3. # 生成1到10之间的随机数
4. num = random.randint(1, 10)

接下来,按照案例要求实现猜数字的逻辑。这里我们不使用三层嵌套判断,因为那样实现会比较复杂且不易于理解和维护。而是采用循环来实现给用户三次猜测的机会,这样代码更清晰、更简洁。

这个“猜数字”游戏的基本思路是通过生成一个用户未知的随机数字,并让用户在有限的尝试次数内猜测这个数字。我们通过简单的交互和逻辑判断来实现这个游戏,具体思路如下:

1. 生成随机数字:

        首先,使用Python中的`random.randint`函数生成一个介于1到10之间的随机整数。这个数字是游戏的目标,用户需要猜测这个数字。

2. 设置猜测次数:

       用户共有三次机会来猜测这个数字。这通过一个for循环实现,循环次数由`range(3)`控制,表示0到2共三次。

3. 获取用户输入并处理异常:

       在每次循环中,使用`input()`函数提示用户输入他们的猜测,并尝试将这个输入转换为整数。如果输入不是一个有效的整数(例如,用户输入了文字),使用`try...except`结构捕捉`ValueError`并提示用户重新输入。

4. 判断并给出反馈:

  - 对于每次用户的输入,通过一系列的if语句判断用户输入的数字与随机数字的关系:

    - 如果用户猜的数字小于目标数字,提示“小了”。

    - 如果用户猜的数字大于目标数字,提示“大了”。

    - 如果用户猜的数字正好等于目标数字,输出“恭喜你,猜对了!”,并提前结束循环。

 

5. 结束游戏:

        如果用户在三次机会内猜对了数字,游戏提前结束。如果三次机会都用完用户仍未猜中,循环结束后输出正确的数字并告知用户游戏结束。

整个游戏是围绕着生成随机数、用户输入、逻辑判断和用户反馈构建的,是一种简单的逻辑推理游戏。

7.3 代码:

# 首先,导入Python的random模块,这个模块提供了生成随机数的功能。
import random
 
# 使用random.randint函数生成一个1到10之间的随机整数,并将这个数赋值给变量num。
# 这个数字是用户需要猜测的目标数字。
num = random.randint(1, 10)
 
# 通过for循环,给用户三次猜测数字的机会。
# range(3)生成一个从0到2的序列,代表用户有三次猜测的机会。
for attempt in range(3):
    try:
        # 使用input函数提示用户输入他们的猜测,并通过int函数将输入转换为整数。
        # 如果用户输入的不是整数,int函数会抛出ValueError,我们通过try...except捕获这个错误,
        # 提醒用户输入有效的整数。
        guess = int(input("猜一个1到10之间的数字: "))
        
        # 使用if...elif...else语句判断用户的猜测是否正确。
        # 如果猜测的数字小于目标数字,打印提示"小了"。
        if guess < num:
            print("小了")
        # 如果猜测的数字大于目标数字,打印提示"大了"。
        elif guess > num:
            print("大了")
        # 如果猜测的数字等于目标数字,打印"恭喜你,猜对了!",并通过break语句退出循环。
        else:
            print("恭喜你,猜对了!")
            break
    # 如果在尝试将用户输入转换为整数时发生ValueError,打印提示让用户输入一个有效的整数。
    except ValueError:
        print("请输入一个有效的整数。")
    
    # 如果循环运行到最后一次还没有猜中(即attempt等于2,因为range(3)生成的序列是0、1、2),
    # 打印提示"很遗憾,三次机会已用尽。正确数字是",并显示正确的数字。
    if attempt == 2:
        print("很遗憾,三次机会已用尽。正确数字是", num)

7.4 运行效果:

📝大佬觉得本文有所裨益,不妨轻点一下👍给予鼓励吧!

❤️❤️❤️本人虽努力,但能力尚浅,若有不足之处,恳请各位大佬不吝赐教,您的批评指正将是我进步的动力!😊😊😊

💖💖💖若您认为此篇文章对您有所帮助,烦请点赞👍并收藏🌟,您的支持是我前行的最大动力!

🚀🚀🚀任务在默默中完成,价值在悄然间提升。让我们携手共进,一起加油,迎接更美好的未来!🌈🌈🌈

目录
相关文章
|
5月前
|
数据库 Python
Python学习的自我理解和想法(18)
这是我在学习Python第18天的总结,内容基于B站千锋教育课程,主要涉及面向对象编程的核心概念。包括:`self`关键字的作用、魔术方法的特点与使用(如构造函数`__init__`和析构函数`__del__`)、类属性与对象属性的区别及修改方式。通过学习,我初步理解了如何利用这些机制实现更灵活的程序设计,但深知目前对Python的理解仍较浅显,欢迎指正交流!
|
4月前
|
安全 数据安全/隐私保护 Python
Python学习的自我理解和想法(27)
本文记录了学习Python第27天的内容,主要介绍了使用Python操作PPTX和PDF的技巧。其中包括通过`python-pptx`库创建PPTX文件的详细步骤,如创建幻灯片对象、选择母版布局、编辑标题与副标题、添加文本框和图片,以及保存文件。此外,还讲解了如何利用`PyPDF2`库为PDF文件加密,涵盖安装库、定义函数、读取文件、设置密码及保存加密文件的过程。文章总结了Python在处理文档时的强大功能,并表达了对读者应用这些技能的期待。
|
5月前
|
数据采集 机器学习/深度学习 自然语言处理
Python学习的自我理解和想法(16)
这是我在B站千锋教育课程中学Python的第16天总结,主要学习了`datetime`和`time`模块的常用功能,包括创建日期、时间,获取当前时间及延迟操作等。同时简要介绍了多个方向的补充库,如网络爬虫、数据分析、机器学习等,并讲解了自定义模块的编写与调用方法。因开学时间有限,内容精简,希望对大家有所帮助!如有不足,欢迎指正。
|
2月前
|
算法 IDE 测试技术
python学习需要注意的事项
python学习需要注意的事项
168 57
|
2月前
|
JSON 数据安全/隐私保护 数据格式
拼多多批量下单软件,拼多多无限账号下单软件,python框架仅供学习参考
完整的拼多多自动化下单框架,包含登录、搜索商品、获取商品列表、下单等功能。
|
2月前
|
机器学习/深度学习 数据安全/隐私保护 计算机视觉
过三色刷脸技术,过三色刷脸技术教程,插件过人脸python分享学习
三色刷脸技术是基于RGB三通道分离的人脸特征提取方法,通过分析人脸在不同颜色通道的特征差异
|
3月前
|
数据采集 存储 监控
抖音直播间采集提取工具,直播间匿名截流获客软件,Python开发【仅供学习】
这是一套基于Python开发的抖音直播间数据采集与分析系统,包含观众信息获取、弹幕监控及数据存储等功能。代码采用requests、websockets和sqlite3等...
|
5月前
|
Python
Python学习的自我理解和想法(19)
这是一篇关于Python面向对象学习的总结,基于B站千锋教育课程内容编写。主要涵盖三大特性:封装、继承与多态。详细讲解了继承(包括构造函数继承、多继承)及类方法与静态方法的定义、调用及区别。尽管开学后时间有限,但作者仍对所学内容进行了系统梳理,并分享了自己的理解,欢迎指正交流。
|
4月前
|
存储 搜索推荐 算法
Python学习的自我理解和想法(28)
本文记录了学习Python第28天的内容——冒泡排序。通过B站千锋教育课程学习,非原创代码。文章详细介绍了冒泡排序的起源、概念、工作原理及多种Python实现方式(普通版、进阶版1和进阶版2)。同时分析了其时间复杂度(最坏、最好、平均情况)与空间复杂度,并探讨了实际应用场景(如小规模数据排序、教学示例)及局限性(如效率低下、不适用于高实时性场景)。最后总结了冒泡排序的意义及其对初学者的重要性。
|
5月前
|
数据采集 数据挖掘 Python
Python学习的自我理解和想法(22)
本文记录了作者学习Python第22天的内容——正则表达式,基于B站千锋教育课程。文章简要介绍了正则表达式的概念、特点及使用场景(如爬虫、数据清洗等),并通过示例解析了`re.search()`、`re.match()`、拆分、替换和匹配中文等基本语法。正则表达式是文本处理的重要工具,尽管入门较难,但功能强大。作者表示后续会深入讲解其应用,并强调学好正则对爬虫学习的帮助。因时间有限,内容为入门概述,不足之处敬请谅解。

热门文章

最新文章

推荐镜像

更多