【Python入门】Python的判断语句(判断语句的嵌套)

简介: 【Python入门】Python的判断语句(判断语句的嵌套)

1. 判断语句的嵌套


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

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

基础语法格式如下:

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


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

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


2. 简单嵌套


演示判断语句的嵌套使用

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


如代码所示:


判断有2层

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

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

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

公司要发礼物,条件是:


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

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

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


代码结果:


你是成年人

你的年龄达标了

恭喜你,年龄和入职时间都达标,可以领取礼物


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


代码结果:


不好意思,小朋友不可以领取。


3. 总结


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

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

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


4. 实战案例


讲到这里我们的python判断语句就讲完了,让我们来个实战案例做做吧!

通过逻辑判断语句,完成猜数字的案例代码编写


案例需求:

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


案例要求:


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

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

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


提示

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


演示判断语句的实战案例:终极猜数字


# 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("三次机会用完了,没有猜中。")


代码结果:


输入你要猜测的数字:5

你猜测的数字小了

再次输入你要猜测的数字:8

恭喜,第二次猜中了

再测一次代码

输入你要猜测的数字:1

你猜测的数字小了

再次输入你要猜测的数字:4

你猜测的数字大了

第三次输入你要猜测的数字:34

三次机会用完了,没有猜中。


如果这份博客对大家有帮助,希望各位给恒川一个免费的点赞👍作为鼓励,并评论收藏一下⭐,谢谢大家!!!

制作不易,如果大家有什么疑问或给恒川的意见,欢迎评论区留言。

相关文章
|
9天前
|
搜索推荐 Python
Python上下文管理器DIY指南:从入门到精通,轻松驾驭资源管理
【7月更文挑战第6天】Python的上下文管理器是资源管理的利器,简化文件操作、网络连接等场景。通过定义类及`__enter__`、`__exit__`方法,可自定义管理器,如示例中的`MyContextManager`,实现资源获取与释放。使用with语句,提升代码可读性和维护性,不仅用于基本资源管理,还可扩展到事务控制、自动重试等高级应用,让编程更加高效和灵活。
24 0
|
10天前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析入门涉及基础如Python语言、数据分析概念及优势。
【7月更文挑战第5天】Python数据分析入门涉及基础如Python语言、数据分析概念及优势。关键工具包括NumPy(数组操作)、Pandas(数据处理)、Matplotlib(绘图)、Seaborn(高级可视化)和Scikit-learn(机器学习)。流程涵盖数据获取、清洗、探索、建模、评估和展示。学习和实践这些将助你有效利用数据。
|
7天前
|
安全 Java 调度
「Python入门」Python多线程
1. **线程与进程区别**:线程共享内存,进程独立;线程启动快,多线程效率高于多进程。 2. **多线程使用**:直接使用Thread类,通过`target`指定函数,`args`传递参数;或继承Thread,重写`run`方法。 3. **守护线程**:设置`setDaemon(True)`,主线程结束时,守护线程一同结束。 4. **join线程同步**:主线程等待子线程完成,如`t.join()`。 5. **线程锁**(Mutex):防止数据竞争,确保同一时间只有一个线程访问共享资源。 6. **RLock(递归锁)**:允许多次锁定,用于需要多次加锁的递归操作。
16 1
「Python入门」Python多线程
|
7天前
|
数据采集 XML JSON
「Python入门」Python代码规范(风格)
**Python编码规范摘要** - 编码:使用UTF-8编码,文件开头可声明`# -- coding: utf-8 --`。 - 分号:避免在行尾使用,不用于分隔命令。 - 行长:不超过80字符,长表达式可使用括号换行。 - 缩进:使用4个空格,禁止混用tab。 - 注释:行注释始于`#`和空格,块注释和文档注释遵循特定格式。 - 空行:函数和类定义间用2空行,方法间1空行,内部适当空行。 - 空格:运算符两侧各空一格,逗号后空格,括号内不空格。 - 命名:模块小写,变量下划线分隔,类驼峰式,布尔变量前缀`is_`。 - 引号:保持一致性,可使用单引号或双引号。
12 1
「Python入门」Python代码规范(风格)
|
12天前
|
测试技术 Python
|
11天前
|
数据采集 编译器 iOS开发
【Python从入门到精通】(一)就简单看看Python吧
【Python从入门到精通】(一)就简单看看Python吧
31 8
|
7天前
|
SQL 关系型数据库 MySQL
「Python入门」python操作MySQL和SqlServer
**摘要:** 了解如何使用Python的pymysql模块与MySQL数据库交互。首先,通过`pip install pymysql`安装模块。pymysql提供与MySQL的连接功能,例如创建数据库连接、执行SQL查询。在设置好MySQL环境后,使用`pymysql.connect()`建立连接,并通过游标执行SQL(如用户登录验证)。注意防止SQL注入,使用参数化查询。增删改操作需调用`conn.commit()`来保存更改。pymssql模块类似,但导入和连接对象创建略有不同。
11 0
「Python入门」python操作MySQL和SqlServer
|
7天前
|
并行计算 Java Python
「Python入门」Python多进程
本文探讨Python中的单进程和多进程。多进程使用`multiprocessing`库,如`Process`类,类似于`threading.Thread`。进程是操作系统分配资源的基本单位,每个程序至少有一个进程。多进程允许多个任务并发执行,提升效率,尤其在多核CPU上优于多线程,因Python的GIL限制了多线程的并行计算。文中通过吃饭睡觉打豆豆的例子,展示了单进程按顺序执行,多进程则可并发执行。还介绍了带参数的多进程、获取进程ID、主进程等待子进程结束及子进程守护等概念。在IO或网络密集型任务中,多线程和多进程各有优势,具体选择应根据任务类型和资源需求。
「Python入门」Python多进程
|
7天前
|
IDE PHP 开发工具
「Python入门」python环境搭建及VScode使用python运行方式
**Python 概述与环境搭建摘要** Python是一种解释型、面向对象、交互式的脚本语言,以其简单易学和丰富库著称。安装Python时,推荐在Windows上选择.exe安装程序,记得勾选“Add Python to PATH”。安装完成后,通过环境变量配置确保Python可被系统识别。验证安装成功,可在CMD中输入`python --version`。Visual Studio Code (VScode)是流行的Python IDE,安装Python插件并选择解释器后,可直接在VScode内编写和运行Python代码。
16 0
「Python入门」python环境搭建及VScode使用python运行方式
|
8天前
|
Python
从入门到精通,Python元类:让你的代码拥有自我进化的超能力
【7月更文挑战第7天】元类是Python中类的类,用于定义类的创建和行为。它们允许在创建类时动态修改,常用于注册、属性修改或实现单例。要使用元类,需定义继承`type`的类,重写`__new__`或`__init__`。例如,一个简单的元类能自动给新类添加属性。虽然初学者会感到挑战,但通过实践能揭示其潜力,赋予代码超凡的灵活性。**
19 0