当前位置: 首页 > article >正文

第 2 章 控制流 知识点精讲

2.1 布尔值核心知识点布尔值是表示真假的两种状态是控制流的基础。True表示真、成立、肯定。False表示假、不成立、否定。关键特性布尔值是 Python 的基本数据类型之一类型为bool。它们是关键字必须大写。在数值上下文中True等价于1False等价于0。示例 type(True) class bool type(False) class bool True 1 2 False * 100 02.2 比较操作符核心知识点比较操作符用于比较两个值返回一个布尔值True或False。操作符含义示例等于5 5→True!不等于5 ! 3→True小于5 3→False大于5 3→True小于等于5 5→True大于等于5 3→True关键提示是赋值操作是比较操作注意区分。比较操作符可以连接使用例如1 x 10。示例 10 10 True hello Hello False 3.14 5 True 1 2 3 True2.3 布尔操作符2.3.1 二元布尔操作符 (and,or)核心知识点and逻辑 “与”。只有当两边的表达式都为True时结果才为True。or逻辑 “或”。只要两边的表达式有一个为True结果就为True。真值表ABA and BA or BTrueTrueTrueTrueTrueFalseFalseTrueFalseTrueFalseTrueFalseFalseFalseFalse示例 (5 3) and (2 4) True (5 3) and (2 4) False (5 3) or (2 4) True (5 3) or (2 4) False2.3.2not操作符核心知识点not逻辑 “非”。它只有一个操作数用于反转布尔值。示例 not True False not (5 3) False2.4 混合布尔和比较操作符核心知识点布尔操作符和比较操作符可以组合使用形成复杂的逻辑表达式。Python 会先计算比较操作符再计算布尔操作符。示例# 判断年龄是否在18到65岁之间 age 25 is_adult age 18 and age 65 print(is_adult) # 输出: True # 判断是否是周末或者假期 is_weekend True is_holiday False can_rest is_weekend or is_holiday print(can_rest) # 输出: True2.5 控制流的元素2.5.1 条件核心知识点条件是一个表达式其结果为布尔值True或False。它决定了程序下一步执行哪条路径。2.5.2 代码块核心知识点代码块是一组在相同缩进级别下的语句。它定义了在特定条件下执行的代码范围。缩进Python 使用缩进来标识代码块通常是 4 个空格。冒号:在if,else,while,for等关键字后使用冒号表示接下来是一个代码块。示例if x 0: print(x is positive) # 这是一个代码块 print(x is greater than zero) # 这是同一个代码块 print(This is outside the if block) # 这是外部代码2.6 程序执行核心知识点默认情况下Python 程序从上到下逐行执行。控制流语句如if,while可以改变这种顺序执行的路径。2.7 控制流语句2.7.1if语句核心知识点if语句用于根据条件执行代码块。如果条件为True则执行代码块如果为False则跳过。语法if condition: # 代码块 statement(s)示例temperature 25 if temperature 30: print(Its hot outside!)2.7.2else语句核心知识点else语句与if配对当if的条件为False时执行else代码块。语法if condition: # if代码块 else: # else代码块示例temperature 25 if temperature 30: print(Its hot outside!) else: print(Its not hot.)2.7.3elif语句核心知识点elif是else if的缩写用于检查多个条件。它必须跟在if之后。语法if condition1: # 代码块1 elif condition2: # 代码块2 else: # 代码块3示例score 85 if score 90: print(A) elif score 80: print(B) elif score 70: print(C) else: print(F)2.7.4while循环语句核心知识点while循环会重复执行其代码块直到条件变为False。语法while condition: # 循环体代码块示例count 0 while count 5: print(count) count count 1 # 输出: 0, 1, 2, 3, 42.7.5 恼人的循环无限循环核心知识点如果while的条件永远为True循环将永远执行下去这被称为无限循环。示例# 这是一个无限循环会一直打印 Hello # while True: # print(Hello)2.7.6break语句核心知识点break语句用于立即退出当前所在的循环while或for。示例count 0 while True: print(count) count count 1 if count 5: break # 当count等于5时退出循环 # 输出: 0, 1, 2, 3, 42.7.7continue语句核心知识点continue语句用于跳过当前循环的剩余部分直接进入下一次循环迭代。示例count 0 while count 5: count count 1 if count 3: continue # 跳过打印3 print(count) # 输出: 1, 2, 4, 52.7.8for循环和range()函数核心知识点for循环用于遍历序列如列表、字符串或其他可迭代对象。range()函数常用于生成一系列数字来控制循环次数。语法for variable in iterable: # 循环体代码块range()函数range(n): 生成 0 到 n-1 的整数序列。range(start, stop): 生成从 start 到 stop-1 的整数序列。range(start, stop, step): 生成从 start 到 stop-1步长为 step 的整数序列。示例# 遍历字符串 for char in Python: print(char) # 使用 range() for i in range(5): print(i) # 输出: 0, 1, 2, 3, 4 for i in range(2, 8, 2): print(i) # 输出: 2, 4, 62.7.9 等价的while循环任何for循环都可以用while循环来重写。示例# for 循环 for i in range(3): print(i) # 等价的 while 循环 i 0 while i 3: print(i) i 12.7.10range()函数的开始、停止和步长参数核心知识点range()函数的三个参数分别控制序列的起始值、结束值不包含和步长。示例# 从1开始到10结束不包含步长为2 for i in range(1, 10, 2): print(i) # 输出: 1, 3, 5, 7, 92.8 导入模块from import语句核心知识点import语句用于导入模块以便使用其中的函数和变量。from ... import ...语句可以直接导入模块中的特定部分。示例# 导入整个 random 模块 import random print(random.randint(1, 10)) # 从 random 模块中直接导入 randint 函数 from random import randint print(randint(1, 10))2.9 用sys.exit()函数提前结束程序核心知识点sys.exit()函数用于立即终止程序的执行。需要先导入sys模块。示例import sys print(程序开始) sys.exit() # 程序在这里结束 print(这段代码不会被执行)2.10 小程序猜数字核心逻辑程序随机生成一个 1 到 100 之间的数字。用户不断输入猜测的数字。程序根据用户的猜测给出 “太大了” 或 “太小了” 的提示。直到用户猜对程序结束并显示祝贺信息和猜测次数。示例代码import random secret_number random.randint(1, 100) attempts 0 print(欢迎来到猜数字游戏) while True: guess int(input(请猜一个1到100之间的数字)) attempts 1 if guess secret_number: print(太小了) elif guess secret_number: print(太大了) else: print(f恭喜你猜对了你用了 {attempts} 次。) break2.11 小程序石头、纸、剪刀核心逻辑用户输入 “石头”、“纸” 或 “剪刀”。程序随机选择一个。根据规则判断胜负石头赢剪刀剪刀赢纸纸赢石头。显示结果。示例代码import random choices [石头, 纸, 剪刀] computer_choice random.choice(choices) user_choice input(请出拳石头/纸/剪刀) print(f电脑出了{computer_choice}) if user_choice computer_choice: print(平局) elif (user_choice 石头 and computer_choice 剪刀) or \ (user_choice 剪刀 and computer_choice 纸) or \ (user_choice 纸 and computer_choice 石头): print(你赢了) else: print(你输了)2.12 小结本章讲解了 Python 的核心控制流工具布尔值True和False。比较和布尔操作符用于构建条件。分支结构if,else,elif。循环结构while和for。循环控制break和continue。程序流程控制导入模块和提前退出。通过两个小程序实践了这些知识点。

相关文章:

第 2 章 控制流 知识点精讲

2.1 布尔值核心知识点布尔值是表示真假的两种状态,是控制流的基础。True:表示真、成立、肯定。False:表示假、不成立、否定。关键特性布尔值是 Python 的基本数据类型之一,类型为 bool。它们是关键字,必须大写。在数值…...

第 1 章 Python 基础 知识点精讲

1.1 在交互式环境中输入表达式核心知识点Python 提供两种运行代码的方式:交互式环境(IDLE / 终端) 和 脚本文件(.py)。交互式环境:输入一行代码立即执行,适合快速测试、调试、学习语法启动方式&…...

SEO_网站SEO排名下降的五大原因及应对技巧

SEO:网站SEO排名下降的五大原因及应对技巧 在数字营销的世界里,网站的SEO排名对于吸引流量和提升业务是至关重要的。随着搜索引擎算法的不断更新,很多网站会经历SEO排名下降的困境。本文将详细探讨网站SEO排名下降的五大原因,并提供相应的应…...

低成本自动化:OpenClaw+Gemma-3-12b-it替代Zapier的5个场景

低成本自动化:OpenClawGemma-3-12b-it替代Zapier的5个场景 1. 为什么选择OpenClawGemma替代Zapier 作为一个长期使用Zapier的自动化爱好者,我最近开始尝试用OpenClawGemma-3-12b-it组合来替代部分Zapier工作流。这个转变源于两个痛点:一是Z…...

8 鸿蒙多任务并发场景性能瓶颈排查 | 鸿蒙开发筑基实战

8 鸿蒙多任务并发场景性能瓶颈排查 | 鸿蒙开发筑基实战 作者:杨建宾(华夏之光永存) 摘要 本文面向鸿蒙应用开发工程师,聚焦多任务并发场景下的卡顿、掉帧、响应延迟等核心痛点,提供一套通用工程级排查流程。从任务调度…...

Git從入門到「入坑」:一個新手的環境配置與踩坑實錄

Git從入門到「入坑」:一個新手的環境配置與踩坑實錄 ——AtomGit春季徵稿開源入門實戰分享 導語:為什麼我要寫這篇文章? 三個月前,我連git clone和git pull的區別都說不清楚。每次看到Git報錯,我的第一反應不是讀錯誤信…...

二极管限幅与钳位电路设计全解析

1. 二极管基础特性回顾 在开始分析各种二极管应用电路之前,我们先快速回顾一下二极管的核心特性。二极管最显著的特点就是其单向导电性 - 当正向偏置电压超过导通阈值(硅管约0.7V)时导通,反向偏置或正向电压不足时截止。这个看似简…...

Vue 全屏应用中的层叠上下文与Teleport动态挂载策略

1. 理解层叠上下文与全屏模式的冲突 在开发Vue全屏应用时,很多开发者都遇到过这样的问题:明明在普通模式下运行良好的弹窗组件,一旦进入全屏状态就神秘消失了。这背后其实涉及到浏览器渲染机制中一个关键概念——层叠上下文(Stacking Context…...

JAVA语法,接口和抽象类应该如何抉择

01.面向对象设计特性1.1 抽象和接口特性在面向对象编程中,抽象类和接口是两个经常被用到的语法概念,是面向对象四大特性,以及很多设计模式、设计思想、设计原则编程实现的基础。比如,我们可以使用接口来实现面向对象的抽象特性、多…...

集萃智造全自动咖啡机器人:从研磨萃取到清洁运维,一站式商用解决方案

当下商用咖啡场景(连锁咖啡店、机场 / 高铁站、写字楼、无人零售区)普遍面临三大难题:人工成本持续上涨、高峰出杯效率不足、出品稳定性差、门店 24 小时运营难落地。传统半自动 / 全自动咖啡机依赖熟练咖啡师,单杯制作耗时、口味…...

SEO的黑帽和白帽技术分别是什么_如何查询网站的SEO指标和排名数据

SEO的黑帽和白帽技术分别是什么_如何查询网站的SEO指标和排名数据 在当今的互联网时代,搜索引擎优化(SEO)是提升网站流量和可见度的关键。SEO有许多技术和方法,其中包括白帽技术和黑帽技术。了解这些技术不仅有助于提升网站的搜索…...

javaweb农贸市场摊位商户管理信息系统设计与实现

目录同行可拿货,招校园代理 ,本人源头供货商功能模块设计商户服务功能市场运营功能技术实现要点项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 功能模块设计 用户管理模块 角色划分&…...

javaweb企业多模块系统 企业门户网站的设计与实现

目录同行可拿货,招校园代理 ,本人源头供货商功能模块划分技术实现要点扩展性设计安全防护措施项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 功能模块划分 用户模块 注册与登录&…...

C语言转译LDPC码:试用比特翻转算法逼近香农极限

作者:绳匠_ZZ0为什么我要学LDPC?前几篇文章中,我已经实现了卷积码(Viterbi译码)和RS卷积级联码,它们在低信噪比下表现不错。但学长和我提到:Turbo码和LDPC码能够逼近香农极限,在相同…...

自动化论文生成方案:7款工具(爱毕业aibiye等)提供格式修正与LaTeX适配功能

工具快速对比排名(前7推荐) 工具名称 核心功能亮点 处理时间 适配平台 aibiye 学生/编辑双模式降AIGC 1分钟 知网、万方等 aicheck AI痕迹精准弱化查重一体 ~20分钟 知网、格子达、维普 askpaper AIGC率个位数优化 ~20分钟 高校检测规则通…...

智能论文生成工具推荐:7款高效平台(含爱毕业aibiye)支持格式优化与LaTeX自动适配

工具快速对比排名(前7推荐) 工具名称 核心功能亮点 处理时间 适配平台 aibiye 学生/编辑双模式降AIGC 1分钟 知网、万方等 aicheck AI痕迹精准弱化查重一体 ~20分钟 知网、格子达、维普 askpaper AIGC率个位数优化 ~20分钟 高校检测规则通…...

嵌入式面试最重要的是项目经历

很多嵌入式应届生面试,我发现大家都挂在同一个地方 项目一开口,就让人听不下去了。 不是项目太少,而是项目太普通。 不是完全没做,而是讲不出自己到底做了什么。 不是技术栈不对,而是没法证明你的能力真的能落到工作里…...

Claude Code 常用命令

先记住一个最重要的动作 在 Claude Code 里,直接输入 /,就能看到当前可用的全部命令。 继续输入 / 加上字母,还可以快速筛选命令。 官方文档也特别说明了一点:并不是所有命令对每个用户都可见。 有些命令会受到平台、套餐、环境或终端能力的影响。一张图先建立命令体系 新…...

logback 只能有 1 个 <root> 标签!

<?xml version"1.0" encoding"UTF-8"?> <configuration> <!-- 路径 --> <property name"PATH" value"./log/open"/> <!-- 控制台输出 --> <appender name"STDOUT" class"ch.qos.lo…...

嵌入式C编程规范与防御性编程实践

1. C语言编程规范概述在嵌入式系统开发中&#xff0c;C语言因其高效性和灵活性成为首选编程语言。然而&#xff0c;编写优质嵌入式C程序绝非易事&#xff0c;它要求程序员不仅熟悉硬件特性&#xff0c;还要深入理解C语言的各种陷阱和编译器特性。本文将从语言特性、编译器行为、…...

OpenClaw长任务优化:Qwen3-32B本地接口降低Token消耗实测

OpenClaw长任务优化&#xff1a;Qwen3-32B本地接口降低Token消耗实测 1. 为什么需要关注长任务Token消耗 去年冬天&#xff0c;当我第一次用OpenClaw整理全年积累的2000多份PDF文档时&#xff0c;账单上的API费用让我倒吸一口凉气——这个简单的文件分类任务竟然消耗了价值30…...

STM32单片机技术优势与应用指南

1. STM32的崛起背景与技术优势2007年之前&#xff0c;8位单片机市场被8051架构主导&#xff0c;16位市场则有MSP430等产品。这些传统MCU在简单控制领域表现出色&#xff0c;但随着物联网时代的到来&#xff0c;其局限性逐渐显现&#xff1a;性能瓶颈&#xff1a;8位机的处理能力…...

实时操作系统(RTOS)核心特性与工业实践解析

1. 实时操作系统核心特性解析实时操作系统&#xff08;RTOS&#xff09;的核心设计理念在于"确定性响应"&#xff0c;这与我们日常使用的通用操作系统有着本质区别。我曾参与过工业控制系统的开发&#xff0c;深刻体会到RTOS在关键任务场景下的不可替代性。以数控机床…...

电源防反接电路设计与工程实践

1. 电源防反接电路的必要性在工业自动化和嵌入式系统设计中&#xff0c;电源接反是一个常见但危害极大的问题。不同于消费电子产品使用标准化接口&#xff0c;许多工业设备需要现场接线&#xff0c;操作人员稍有不慎就可能接错电源极性。我曾参与过一个煤矿监控系统的项目&…...

02_RAGFlow之DeepDoc深度文档理解技术

RAGFlow之DeepDoc深度文档理解技术 知识体系 RAGFlow知识体系 | -- 文档解析层 | -- DeepDoc核心能力 | -- 文档布局分析模型 | -- 模板化分块策略 | -- 多模态处理层 | -- 表格结构识别 | -- 公式识别 | -- 图文混排处理 | -- 分块优化层 | -- 可视化模板市场 |…...

04_RAGFlow之知识图谱与Text2SQL

RAGFlow之知识图谱与Text2SQL&#xff1a;构建智能检索的双引擎 知识体系结构 RAGFlow技术栈 │ ├── 知识图谱层 │ ├── 实体识别与关系提取&#xff08;NER Relation Extraction&#xff09; │ ├── 图谱查询与推理&#xff08;Graph Query & Reasoning&a…...

MCP3302/MCP3304 13位差分ADC驱动开发与硬件协同设计指南

1. MCP330X库深度解析&#xff1a;面向嵌入式工程师的13位差分ADC驱动开发指南MCP330X系列Arduino库是专为Microchip MCP3302与MCP3304高精度模数转换器设计的底层驱动框架。该库并非简单封装&#xff0c;而是基于对SPI协议时序、ADC采样原理及嵌入式资源约束的深刻理解所构建的…...

从UDP到串口:ROS与STM32无线通信方案的实战选型与优化

1. 为什么需要无线通信方案 在机器人开发中&#xff0c;上位机&#xff08;通常是运行ROS的PC或开发板&#xff09;与下位机&#xff08;如STM32等单片机&#xff09;的通信是基础但关键的一环。我最近在做一个小车项目时&#xff0c;就深刻体会到了通信方案选型的重要性。最初…...

从NTU-RGB+D到实际应用:如何用这个数据集训练一个摔倒检测模型?

基于NTU-RGBD数据集的摔倒检测模型实战指南 在智能监护和安防领域&#xff0c;摔倒检测一直是个极具社会价值的课题。想象一下&#xff0c;当独居老人不慎跌倒时&#xff0c;系统能在第一时间发出警报&#xff1b;或是在建筑工地&#xff0c;实时监测工人安全状态——这些场景背…...

5分钟搞定OpenClaw+Qwen3-14b_int4_awq:星图GPU镜像一键体验

5分钟搞定OpenClawQwen3-14b_int4_awq&#xff1a;星图GPU镜像一键体验 1. 为什么选择星图平台体验OpenClaw 上周我在本地尝试部署OpenClaw时&#xff0c;被各种环境依赖折腾得够呛。从Node.js版本冲突到Python包兼容性问题&#xff0c;光是解决报错就花了大半天时间。正当我…...