版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Python程序设计》第1章Python与程序设计概论授课教师:[教师姓名]时间:2026年春季学期本章教学大纲01.程序与程序设计的概念解析程序的定义与基本特征,梳理程序设计的核心步骤,建立对编程本质的初步认知。02.Python语言概述回顾Python发展历程,剖析其简洁、易读、跨平台等核心特点,探索Web开发、数据分析等广泛应用领域。03.Python开发环境基础理解Python解释器的工作原理,学习版本选择策略,概览IDLE、PyCharm等主流开发工具的特点。04.动手实践:搭建开发环境手把手完成Anaconda的下载与安装,掌握JupyterLab的启动流程,编写并运行第一个Python程序“HelloWorld”。05.编写优雅规范的代码学习代码注释的技巧,掌握Python缩进的语法意义,遵循PEP8编码规范,养成良好的编程书写习惯。06.本章小结与思考练习系统回顾本章核心知识点,通过课后练习巩固环境搭建与基础语法,启发思考Python在实际问题中的应用。1.1.1什么是程序?核心定义程序(Program)是计算机能够识别和执行的一组有序指令的集合,是让计算机完成特定任务的基础。本质认知程序是处理和加工数据的规则和步骤,而非数据本身。它决定了数据如何流转、计算和输出。执行逻辑程序被加载到计算机内存后,由CPU逐条读取并执行指令,按序完成运算,最终实现预定的功能目标。通俗理解:计算机的“菜谱”就像做菜的菜谱包含了食材处理和烹饪的详细步骤,计算机程序也是给计算机的“菜谱”,清晰地告诉它每一步该做什么,从而有条不紊地完成复杂任务。示例:计算学生平均成绩的步骤1.输入各科考试成绩数据
2.计算所有成绩的总和3.将总和除以课程数量
4.输出最终的平均分数1.1.1程序的基本特征01确定性(Determinism)在相同的输入条件下,程序执行的路径和最终结果必须是唯一且可预测的,不存在二义性。02有限性(Finiteness)程序必须能在有限的步骤和有限的时间内执行完毕并终止,避免陷入无限循环而无法结束。03可执行性(Executability)程序必须采用计算机能够理解和执行的指令形式编写,如Python、C++等编程语言,而非自然语言。04拥有输入和输出(Input&Output)绝大多数程序都需要与外界交互:接收输入数据作为处理的基础,并在经过逻辑运算和数据处理后,产生符合预期的输出结果。05有效性/可行性(Effectiveness)程序中的每一步操作都必须是简单、明确且可行的,避免使用模糊、歧义或计算机无法执行的抽象指令,确保能被转化为具体的操作步骤。1.1.2程序设计的基本步骤01.问题分析与理解彻底理解用户需求,明确程序的输入、输出和约束条件,这是程序设计的起点和基础。1.2.1Python的诞生与发展创始人:吉多·范罗苏姆这位荷兰程序员在1989年圣诞节期间,为打发时间设计了Python解释器。他被社区尊称为“仁慈的独裁者”(BDFL),确立了Python“人生苦短,我用Python”的核心理念。命名趣闻:MontyPythonPython的名字并非来自蟒蛇,而是源于吉多最爱的英国喜剧团体“MontyPython”。这个命名不仅有趣,也预示了这门语言将“简洁、幽默、实用”作为设计核心。01.诞生与奠基(1991~2000)1991年Python0.9.0问世,包含了类、函数、异常处理等核心特性;2000年Python1.0确立了“优雅、明确、简单”的设计哲学,为语言发展定调。02.工业应用爆发(2000~2020)Python2.0引入垃圾回收机制。在Google、YouTube等企业的深度应用推动下,Python从小众语言成长为工业界主流的通用编程语言。03.现代生态与统治(2008~至今)Python3.0发布,不兼容2.x版本,修正了早期设计缺陷。凭借在AI、大数据、云计算领域的绝对优势,成为最受欢迎的语言之一。现状里程碑:根据TIOBE指数,Python在2023年正式登顶,成为全球排名第一的编程语言,其应用版图已全面覆盖科学计算、Web开发、人工智能与自动化运维等领域。1.2.2为什么选择Python?简洁与易于学习语法接近自然语言,可读性极高;强制使用缩进来组织代码块,让程序结构清晰,对初学者极其友好。高级语言与动态类型屏蔽内存管理等底层细节,让开发者专注解决问题;变量无需预先声明类型,编写代码更加灵活高效。解释型语言,开发高效代码由解释器逐行执行,无需繁琐的编译链接过程,开发、测试和调试的反馈循环非常快速方便。丰富的标准库与第三方库Python被称为“内置电池”的语言,拥有庞大的标准库,覆盖文件I/O、网络通信等基础功能。同时全球开发者贡献了海量第三方库,无论是数据分析、人工智能还是Web开发,都能找到成熟工具。开源免费与强大的社区支持完全开源免费,可自由使用和分发。拥有活跃的全球开发者社区,遇到问题能快速找到解决方案;同时社区持续更新维护,确保语言生态不断发展完善。1.2.3Python能做什么?(1/2)Python的通用性使其渗透到了现代科技的几乎所有领域,成为连接创意与工程实现的高效桥梁。数据科学与机器学习Python是AI领域的核心语言,凭借NumPy、TensorFlow等强大库,支撑着Google、Meta等巨头的前沿人工智能项目研发。从基础的数据分析清洗,到复杂的深度学习模型构建,Python提供了最完整的工具链,让算法落地变得高效且便捷。高性能Web开发拥有Django(全能)、Flask(轻量)等成熟框架,Instagram、YouTube、豆瓣等海量用户级平台均采用Python构建。无论是快速原型开发,还是高并发商业级应用,PythonWeb框架都能提供安全、灵活且可扩展的解决方案,加速产品迭代。1.2.3Python能做什么?(2/2)01.自动化与脚本编程Python是实现自动化的理想工具,广泛用于系统管理、文件批量处理、网络爬虫和自动化运维,能高效替代枯燥、重复性的人工操作,显著提升工作效率。02.科学计算与数值分析在物理、化学、金融等领域,Python用于复杂数值模拟与数据可视化。NASA、CERN等顶级科研机构,均采用Python进行高精度的物理实验模拟与数据分析。03.编程教育的首选语言因其语法简洁、可读性强,Python成为哈佛大学、斯坦福大学等全球顶尖院校的编程入门教学语言,是培养学生计算思维和逻辑能力的绝佳工具。1.3.1Python的执行引擎与版本Python解释器(Interpreter)解释器是执行Python代码的核心程序,如同语言的“翻译官”,负责将代码转化为计算机能理解的机器指令。CPython官方标准版本,C语言实现,生态最完善、使用最广泛。PyPy采用即时编译(JIT)技术,对计算密集型代码有显著的速度提升。Python版本的选择Python2.x(已停止维护)2020年1月1日已停止官方更新与维护,存在安全风险,且与Python3不兼容,严禁新用户以此作为学习起点。Python3.x(当前主流版本)修复了2.x的设计缺陷,提供更好的Unicode支持、安全性和现代特性,是目前开发和教学的唯一选择。课程约定:本课程全程使用CPython解释器与Python3版本,确保学习内容的通用性与时效性。1.3.2常用开发环境介绍IDLEPython自带的集成开发环境,界面简洁轻量,无需额外配置即可使用。它是初学者入门Python编程、编写简单脚本的理想选择。AnacondaJupyterLab基于浏览器的交互式开发工具,支持代码、文本、公式和可视化结果混排。非常适合数据分析、科学计算和教学演示场景。VisualStudioCode(VSCode)轻量级且强大的开源代码编辑器,通过安装Python插件可获得完整的开发体验。支持调试、Git集成等,是目前最流行的编辑器之一。PyCharmJetBrains出品的专业PythonIDE,提供智能代码补全、调试、测试等一站式开发功能。功能全面,适合大型项目和专业开发者使用。学习路径建议:IDLE(入门)→JupyterLab(交互式学习)→VSCode/PyCharm(进阶开发)1.4.1安装Anaconda发行版为什么选择Anaconda?它是面向数据科学的Python集成环境,最大的优势是“开箱即用”。预装了NumPy、Pandas、Matplotlib等大量常用科学计算库,以及JupyterLab、Spyder等开发工具,彻底避免了手动安装库时的依赖冲突和版本兼容问题。💡关键提示:安装时建议勾选“将Anaconda添加到我的PATH环境变量”,方便在终端直接调用Python和相关工具。01访问官方网站打开浏览器,访问Anaconda官网(),进入下载页面获取最新版本。02下载对应安装包根据你的操作系统(Windows/macOS/Linux)选择并下载对应的图形化安装程序。03运行安装程序双击安装包启动向导,大部分选项保持默认设置即可,点击“Next”完成安装流程。04验证安装结果安装完成后,打开终端或AnacondaPrompt,输入conda--version检查是否成功。1.4.1启动JupyterLab01.打开AnacondaNavigator从系统开始菜单(Windows)或应用程序文件夹(macOS)中,找到并启动AnacondaNavigator应用程序。02.启动JupyterLab在Navigator主界面的应用列表中找到JupyterLab,点击其下方醒目的“Launch”(启动)按钮,等待程序加载。03.进入JupyterLab界面系统会自动唤起默认浏览器,并打开JupyterLab的网页版操作界面,此时即可开始创建和编写Python代码。AnacondaNavigator主界面:可以集中管理和启动各类数据科学开发工具,包括JupyterLab、Spyder等。1.4.2创建Python笔记本初识JupyterLab界面布局界面左侧为文件浏览器,用于管理项目文档与文件;右侧是启动器(Launcher),集成了创建笔记本、终端、文本文件等功能的快捷入口,是开启编程的核心枢纽。快速创建Python笔记本在启动器的Notebook区域,点击“Python3(ipykernel)”选项,即可创建一个空白的.ipynb格式笔记本,进入交互式代码编辑与运行环境。1.4.2你的第一个Python程序-Hello,World!print("Hello,World!")这是编程界最经典的入门代码,用于验证开发环境是否配置正确。内置函数print()Python的内置功能,作用是将括号内的内容输出(打印)到屏幕上,是程序与用户交互最基础的方式。字符串(String)用引号(单引号或双引号)包裹的文本内容,是计算机中表示文字、符号的数据类型。如何运行程序?在单元格输入代码后,点击工具栏的“运行”按钮(▶),或按下快捷键Shift+Enter即可执行。看到“Hello,World!”即代表环境配置成功!1.5.1注释的艺术:单行与块注释为什么需要注释?注释是写在程序中的说明性文本,不会被Python解释器执行。它不仅能帮助自己梳理思路、回顾代码,更能让团队成员快速理解逻辑,是代码可读性和可维护性的关键保障。01.单行注释:简洁的说明使用#符号表示,适用于对单行代码或局部逻辑的简短说明,可单独一行或放在代码行末尾。#计算圆的面积
radius=5#定义圆的半径变量02.块注释:详尽的文档说明使用三引号""""""(或'''''')包裹,常用于为函数、类或模块编写文档字符串(Docstring),说明功能、参数和返回值。"""计算两数之和,接收a、b并返回结果"""
a,b=5,3
print(f"两数之和为:{a+b}")💡核心原则:好的注释解释代码“为什么”这么写,而非重复代码“做什么”。1.5.2Python的灵魂:缩进规则核心作用:缩进是Python语法的一部分,用于表示代码的逻辑层次结构。错误的缩进(如层级混乱、空格与制表符混用)会直接触发IndentationError,导致程序无法运行,这是Python区别于其他语言的重要特征。代码块的边界在循环、条件判断、函数定义等结构中,内部代码必须比上一行多一个缩进层次,以此界定代码块的归属范围。同级缩进一致处于同一逻辑层级的代码,缩进量必须完全相同。混用不同数量的空格或制表符,即使视觉对齐,也会被判定为语法错误。PEP8标准规范Python官方风格指南PEP8明确规定,使用4个空格作为一个标准缩进单位,禁止使用制表符(Tab),这是社区通用的最佳实践。ifscore>=60:#冒号后换行,下一行必须缩进print("及格")#缩进表示属于if代码块else:#与if对齐,为同一层级print("不及格")#缩进表示属于else代码块1.5.3编码风格基础(PEP8)PEP8是Python官方推荐的编码规范,遵循它能让代码结构更清晰、风格更统一,极大提升代码的可读性与专业性,是每一位Python开发者应当养成的核心习惯。限制行长度建议每行代码不超过79个字符,过长的代码行应进行合理换行,以确保在不同编辑器和终端中都能舒适阅读。规范空白行使用函数和类的定义之间保留两个空行,函数内部的逻辑段落之间保留一个空行,以此划分代码层级,增强结构感。合理的空格排版在赋值、比较等二元运算符两侧各加一个空格;在逗号、冒号后加一个空格,让代码的视觉节奏更舒适。#符合PEP8规范的代码示例
x=5#赋值运算符两侧有空格;y=10
ifx==y:#比较运算符两侧有空格y=x/2;my_list=[1,2,3]#逗号后加空格,提升可读性本章小结核心概念深入理解了程序与程序设计的定义及基本步骤,认识到程序设计本质上是一种系统化、逻辑化的问题解决思维方法,为后续学习奠定了认知基础。Python语言了解了Python的发展历程,掌握其简洁、易读、开源及第三方库丰富的核心特点,并熟悉了它在数据分析、Web开发等多个领域的广泛应用。实践技能成功搭建Anaconda开发环境,熟练启动JupyterLab并进行交互操作。独立编写并运行了第一个Python程序“Hello,World!”,迈出了编程实践的第一步。编程规范掌握了单行与多行注释的添加规范,理解了缩进对Python代码结构的决定性作用,并初步认识了PEP8编码风格指南,树立了规范编码的意识。本章我们不仅构建了基础认知体系,更通过实操掌握了环境搭建与代码编写,同时注重培养规范的编程习惯,为进阶学习筑牢根基。思考与练习01.下列关于“程序”的描述中,哪一项是正确的?A.需图形化界面B.完成特定任务的指令集合(正确)C.依赖网络D.仅含数据无逻辑02.下列关于Python特点的描述中,哪一项是错误的?A.解释型语言B.丰富标准库C.必须编译成可执行文件运行(错误)D.缩进表示代码块03.在Python中,单行注释使用哪一个符号开头?A.//B.<!---->C.#(正确)D./**/编程实践01:注释的规范使用在JupyterLab中新建Notebook,编写三行单行注释,分别说明你的姓名、当前日期,以及编写这段代码的核心目的。体会注释对代码可读性的提升作用。编程实践02:体验缩进错误编写一个简单的`if`判断语句,故意漏写或错误缩进其中一行代码。观察Python的报错信息,记录错误原因,再修正代码使其正确执行,加深对缩进语法的理解。Q&A感谢聆听欢迎大家提出疑问,让我们共同探讨Python编程的无限可能。《Python程序设计》第2章基本数据类型与顺序结构授课教师:[教师姓名]时间:2026年春季学期本章学习目标理解变量的本质深入掌握Python中“变量是对象的引用”这一核心概念,理解变量与内存对象之间的绑定关系。掌握标识符命名规则严格遵循PEP8编码规范,学会使用字母、数字、下划线的组合,避免关键字,规范变量命名风格。熟悉基本数据类型熟练掌握整数、浮点数、布尔值和字符串的表示方法,理解各类数据的特性与基础操作方式。掌握类型转换方法能够根据场景需求,灵活运用显式转换(如int()、str())和理解隐式转换规则,处理数据类型不匹配问题。理解运算符优先级牢记算术、比较、逻辑等运算符的执行顺序,能够正确计算包含多种运算符的复杂表达式结果。掌握输入与输出交互熟练使用print()函数展示结果,利用input()函数获取用户输入,并掌握格式化输出的常用技巧。理解程序执行流程透彻理解顺序结构的执行逻辑——代码自上而下、逐条执行,并能绘制简单的程序流程图辅助分析。编写顺序结构程序综合运用变量、数据类型、输入输出等知识,独立编写解决简单实际问题的Python顺序结构程序。章节导入:程序的基石核心对象:数据数据是程序处理的核心对象。就像厨师烹饪需要食材一样,程序的运行和功能实现,都离不开数据作为基础支撑。基础分类:基本数据类型为了方便程序处理,数据被划分成不同的基本分类,比如表示数值的数字类型、表示文字的字符串类型等,是构建数据的基础单元。存储容器:变量变量是程序中用来存储和操作数据的容器。我们可以把数据存入变量,也可以从变量中取出数据进行计算和修改,灵活高效。执行逻辑:程序结构程序结构决定了代码的执行顺序和逻辑走向,它是组织代码的方式,回答了程序“如何做事”的问题,是实现复杂功能的关键。本章核心目标:掌握Python中数据的表示与处理方式,理解变量的使用,并学会运用最基础的顺序结构,让程序按照我们的意愿一步步执行,为后续编程学习筑牢根基。2.1.1变量的概念:名称绑定模型在Python中,变量的本质并非“装数据的盒子”,而是一个命名符号,它是对内存中某个对象(object)的引用(reference)。这种机制被称为“名称绑定”,是理解Python变量的核心。01.对象(Object):数据的实体对象是内存中实际存放数据的实体,占据特定的内存空间。比如数字`20`、字符串`"Python"`等,都是具体的对象,是程序处理的数据本身。02.变量(Variable):绑定的名称变量是一个命名的符号(标签),它本身不存储数据,而是被“绑定”到某个对象上。通过这个名称,我们就能找到并操作它所引用的那个内存对象。age=20执行这条语句时,Python先在内存中创建整数对象20,再创建变量名age,最后将age这个名字“贴”在对象20上,完成引用绑定。2.1.2标识符的命名规则与规范标识符(Identifier)是编程中用于命名变量、函数、类、模块等实体的名称,它是代码可读性和可维护性的基础,必须兼顾合法性与规范性。命名规则:必须严格遵守的红线字符组成与首字符限制:仅可包含字母、数字和下划线,且必须以字母或下划线开头,严禁以数字作为首字符。大小写敏感与关键字规避:Python严格区分大小写(如Age≠age);严禁使用语言保留字(if/for/True等)作为标识符,避免语法错误。命名规范:PEP8推荐的最佳实践语义化命名与蛇形命名法:使用见名知意的名称(num_students优于n);多单词用下划线分隔,全部小写,提升可读性。常量与命名冲突规避:常量使用全大写字母(如MAX_RETRY=3);避免使用list、str等内置函数名作为标识符,防止覆盖系统功能。核心原则:规则是法律,必须遵守;规范是道德,值得追求——让代码成为易读的艺术品。2.1.3赋值语句与多重赋值赋值的本质是在“变量名”与内存中的“对象”之间建立绑定关系,而非简单的赋值拷贝。基本赋值:从右向左的绑定语法为变量名=表达式。Python严格遵循“从右向左”的执行顺序:先计算右侧表达式的值,生成对象,再将左侧变量名绑定到该对象上。多重赋值:序列解包的魅力在一条语句中同时为多个变量赋值,Python会自动将右侧的序列拆解,依次绑定给左侧的变量。例如:x,y,z=10,20.5,"Data",这使得数据的分发非常直观高效。经典应用:无临时变量交换Python特有的简洁写法,无需引入中间变量:a,b=b,a。执行时,右侧表达式会先被求值并打包成元组,再解包给左侧变量。链式赋值:共享同一个对象将同一个值赋给多个变量,语法为x=y=z=100。这等价于先创建对象100,再依次将x、y、z绑定到这个对象上,节省了内存空间。2.1.4深入理解:变量是对象的引用核心原则:在Python中,变量本身并不直接存储数据,它更像是一个贴在数据对象上的“标签”或“引用”,指向内存中实际存储数据的对象。x=10#1.在内存中创建整数对象10,x指向它y=x#2.y也指向同一个对象10,而非复制数据x=20#3.创建新对象20,x“跳槽”指向它,y仍留原地共享引用阶段执行x=10和y=x后,变量x和y同时引用内存中的同一个整数对象10,形成“别名”关系。引用重绑定阶段执行x=20时,Python不会修改原对象10,而是新建对象20并将x指向它。此时y依然牢牢指向最初的10。关键结论:不可变对象的赋值本质是“引用重绑定”对于整数、字符串、元组这类不可变对象,重新赋值操作不会改变原对象的内容,而是让变量指向一个全新的内存对象。这也是Python内存管理高效且安全的重要特性。2.2基本数据类型概述数据类型决定了数据的特性和能进行的操作。Python中的一切数据都是对象,不同类型的数据在内存中存储方式和占用空间不同,也决定了程序中可用的运算方法。整数(int)用于表示正负数和零,支持二进制、八进制、十进制、十六进制等多种表示形式。例如:10,-5,0b1010(二进制),0o12(八进制)。浮点数(float)用于表示小数或科学计数法的数值,在计算机中以二进制小数形式存储。例如:3.14,-0.001,1.23e-2(即0.0123),常用于表示精度要求不高的实数。布尔值(bool)表示逻辑判断的结果,只有两个取值:True(真)和False(假)。常用于条件判断、循环控制等场景,是程序逻辑流的核心基础。字符串(str)由单引号、双引号或三引号包裹的字符序列,用于表示文本信息。例如:"HelloWorld",'Python',"""多行文本""",是处理文本数据的基本类型。思考:为什么需要不同的数据类型?就像生活中区分“人数”(整数)、“身高”(小数)、“是否毕业”(真假)一样,程序也需要精确表示不同类型的信息,以优化存储和计算效率。2.2.1&2.2.2整数(int)与浮点数(float)整数(Integer/int)表示形式:支持十进制、二进制(0b)、八进制(0o)、十六进制(0x)等多种进制书写。常用运算:包含+、-、*、/、//(整除)、%(取余)、**(幂运算)等基础操作。关键特性:在Python中,使用/进行除法运算时,结果永远返回浮点数;//则执行向下取整的整除。浮点数(Float/float)表示形式:可使用标准的小数写法(如3.14)或科学计数法(如1.23e3代表1230.0)。核心应用:用于处理带有小数部分的数值,在科学计算、数据分析等场景中广泛使用。精度注意:由于二进制存储机制,部分十进制小数无法被精确表示,计算时可能产生微小的舍入误差。print(10/3)#输出:3.3333333333333335(float类型)print(10//3)#输出:3(int类型,向下取整)#浮点数精度示例:print(0.1+0.2)#结果可能为:0.300000000000000042.2.4布尔类型(bool)逻辑的基石布尔类型是计算机逻辑判断的核心,仅有两个取值:`True`(真)和`False`(假),如同电源开关,决定程序执行的分支方向。逻辑运算规则布尔值通过`and`、`or`、`not`进行逻辑组合:`and`需全为真才真;`or`有一真即为真;`not`则对结果取反,如同交通信号灯的通行逻辑。2.2.5字符串基础(str)01/字符串的表示文本数据需用引号包围,支持三种形式:单引号'Hello'、双引号"World",以及三引号"""多行文本块""",灵活适配不同场景。02/核心基础操作使用+拼接字符串,实现重复。例如:
greeting="Hello"+"Python"得到"HelloPython";
line="-"*20得到20个连字符的分隔线。03/关键注意事项字符串与数字不能直接拼接,需先用str()转换数字类型。
正确写法:print("Age:"+str(20)),输出"Age:20"。内置函数:len(s)计算长度返回字符串中包含的字符个数(长度)。例如len("Python")会返回整数6,是处理文本数据时最常用的基础函数之一。内置函数:input()获取输入用于从键盘获取用户输入,无论输入的是数字还是文字,该函数的返回值永远是字符串类型,后续可按需转换处理。2.3类型转换01显式类型转换(强制转换)通过Python内置函数主动对数据类型进行转换,是编程中最常用、最可控的转换方式。int(x)/float(x)转为整数(截断小数)或浮点数,常用于数值计算场景。str(x)/bool(x)转为字符串用于输出,或转为布尔值用于逻辑判断。a=int(3.99)#结果为3(小数部分被截断)b=float("3.14")#结果为3.14(字符串转数字)02隐式类型转换(自动转换)Python解释器在运算过程中自动完成的转换,无需开发者干预,遵循“精度不丢失”的原则。数值混合运算:低精度转高精度整数与浮点数运算时,整数自动转为浮点数,避免精度损失。例如:3+2.5=5.5布尔值参与算术运算布尔值True被视为1,False被视为0。例如:True+2=3,常用于计数场景。2.3.3运算符优先级当表达式包含多个运算符时,Python会遵循既定的优先级规则决定计算顺序,理解这一规则是编写正确代码的基础。01.最高优先级:括号与幂运算括号`()`优先级最高,用于改变运算顺序;其次是幂运算`**`,如`2**3`表示2的3次方。2.4表达式与语句表达式(Expression)——计算单元核心目的:对数据进行运算或逻辑判断,最终返回一个具体的结果值。典型示例:`5+3`(算术运算)、`x>10`(比较运算)、`len("abc")`(函数调用)。语句(Statement)——执行单元核心目的:执行一个具体的操作或动作,通常会改变程序的状态(如变量赋值、输出内容)。典型示例:`x=10`(赋值)、`print("Hello")`(输出)、`ifx>0:`(流程控制)。核心关系:语句是程序的骨架,负责执行动作;表达式是程序的血肉,负责产生值。语句中可以包含表达式,但表达式不能包含语句。y=2*x+1#赋值语句:等号右侧是表达式,被求值后将结果赋给左侧变量yprint(len("HelloWorld"))#输出语句:参数是表达式,先计算长度再打印结果2.5输入与输出输出:print()函数用于将信息输出到屏幕,是程序与用户交互的基础。它支持自定义分隔符与结束符,让输出格式更灵活。•sep:多个对象间的分隔符,默认是空格;end:输出结尾追加的字符,默认是换行符`\n`。#自定义分隔符sepprint("apple","banana",sep=",")#输出:apple,banana#自定义结束符end,不换行输出print("Loading",end="");print("...done!")#输出:Loading...done!输入:input()函数用于暂停程序执行,从键盘读取用户输入的一行文本。无论输入什么内容,它的返回值永远是字符串(str)类型。•关键提示:如果需要数值(如年龄、成绩),必须使用`int()`或`float()`函数进行显式的类型转换。#接收用户输入的年龄,并用int()转为整数age_str=input("请输入您的年龄:")age=int(age_str)print("明年您将是",age+1,"岁")2.5.3综合练习练习1:华氏温度转摄氏温度利用数学公式将用户输入的华氏温度转换为摄氏温度,核心公式为:C=(F-32)/1.8#1.获取用户输入
f_str=input("请输入华氏温度(F):")
#2.转换类型并计算
f=float(f_str)
c=(f-32)/1.8
#3.输出结果
print("转换后的摄氏温度(C)是:",c)练习2:BMI身体质量指数计算器根据身高和体重计算身体质量指数,评估健康状况,核心公式为:BMI=体重(kg)/身高(m)**2#1.输入身高和体重并转换为浮点数
height=float(input("请输入身高(m):"))
weight=float(input("请输入体重(kg):"))
#2.计算BMI值
bmi=weight/(height**2)
#3.格式化输出结果,保留两位小数
print("您的BMI值为:",round(bmi,2))💡核心模式总结:这两个程序都遵循了编程中最经典的“输入→处理→输出(IPO)”流程。2.6程序流程与顺序结构01/三大程序基本结构任何复杂程序的逻辑,都可拆解为三种基本结构:顺序结构(自上而下执行)、选择结构(按条件分支)、循环结构(重复执行)。它们是构建所有算法的基石。02/核心:顺序结构(Sequence)程序语句严格按照书写顺序,从上到下、逐条依次执行,执行路径唯一且确定,无分支、无跳转、无重复。它是最简单、最基础的程序执行模式。流程图符号速览椭圆:表示开始或结束矩形:表示处理或操作菱形:表示条件判断箭头:表示执行流向流程图是表达程序逻辑的可视化工具,能清晰展示步骤间的关系。在顺序结构中,流程线始终保持单向、无分支的流动状态。2.6.3综合练习:计算学生平均分问题描述编写程序,依次输入三门课程的考试成绩,通过算术运算求出总分与平均分,并将最终的平均分结果输出展示。核心步骤分解01数据输入输入三门成绩,转换为浮点数类型存储。02逻辑处理求和得到总分,再除以3计算平均分。03结果输出格式化打印最终的平均分结果。关键提示:顺序结构中语句的执行顺序严格按照编写顺序进行,输入、处理、输出的流程不可随意颠倒。average_score.py#1.输入三门课程成绩score1=float(input("请输入第一门成绩:"))score2=float(input("请输入第二门成绩:"))score3=float(input("请输入第三门成绩:"))#2.计算总分与平均分total=score1+score2+score3avg=total/3#3.输出结果print("三门课程的平均分为:",avg)注意:使用float()转换输入值,确保能处理小数成绩,避免类型错误。本章总结01变量本质变量是对内存对象的引用,通过赋值操作建立变量与对象的绑定关系,而非传统意义上的“盒子”。02命名规范严格遵循PEP8规范,使用小写字母和下划线组合,拒绝使用中文或无意义的字符,确保代码可读性。03基础数据类型掌握四大核心类型:整数(int)、浮点数(float)、布尔值(bool)与字符串(str),理解各类型的存储与使用场景。04类型转换技巧区分显式转换(int()、float()、str()等函数)与隐式转换,注意转换的安全性,避免数据丢失或报错。05运算与交互操作牢记运算符优先级,善用括号明确逻辑;熟练运用input()获取用户输入、print()输出结果,实现基础交互。06基础程序结构顺序结构是程序执行的基石,代码自上而下按序运行。建立“输入-处理-输出”的编程思维模式。💡核心总结:扎实掌握变量引用与数据类型,是编写健壮Python代码的第一步。课后练习一、基础巩固·选择题01.关于变量的描述,正确的是?
正确答案:C.变量本质上是对计算机内存中对象的引用,赋值操作即建立引用关系。02.下列Python标识符中,命名合法的是?
正确答案:D._score。标识符可由字母、数字、下划线组成,不能以数字开头,且不能是关键字。03.a=b=10
a和b指向内存中同一个整数对象10,共享同一内存地址。04.显式类型转换
float("3")可将字符串"3"转换为浮点数3.0;str(3.0)则转为字符串。二、实践应用·编程挑战格式化输出问候输入姓名和年龄,使用格式化字符串输出“你好,xxx,你今年xx岁!”,掌握input()与f-string的用法。秒数转换时分输入总秒数,利用算术运算符计算并输出“X分Y秒”的格式,练习整除(//)和取余(%)的实际应用。浮点数四则运算输入两个浮点数,分别计算并打印它们的和、差、积、商。注意除数不能为0的异常情况提示。成绩统计系统输入语、数、英三门成绩,计算总分和平均分。使用变量存储成绩,通过表达式完成统计计算。《Python程序设计》第1章Python与程序设计概论授课教师:[教师姓名]时间:2026年春季学期《Python程序设计》第3章选择结构:赋予程序的决策能力授课教师[教师姓名]开课时间2026年春季学期本章目录01.条件判断与逻辑表达式涵盖条件判断基本概念、逻辑表达式构造方法,深入解析短路求值机制,以及条件判断的常见模式与运算符优先级规则。02.单分支if结构详解单分支if语句的标准语法格式与代码执行流程,结合实际编程案例,掌握其在简单条件决策场景中的应用技巧。03.双分支if-else结构学习双分支语句的语法逻辑与执行路径,对比单分支结构的差异,通过正反案例分析,理解双向条件选择的核心逻辑。04.多分支if-elif-else结构掌握处理多条件分支场景的语法结构,分析多分支代码的执行顺序与匹配规则,通过分级判断案例提升复杂场景的处理能力。05.嵌套条件与可读性优化探讨嵌套条件的语法规范与适用场景,剖析深层嵌套带来的可读性问题,学习扁平化重构等代码优化策略,提升代码质量。06.条件表达式了解Python中简洁的三元条件表达式语法,对比传统分支结构的优势,学习其在简化赋值与简短逻辑判断中的实际应用。3.1.1条件判断的基本概念什么是条件判断?定义:程序根据特定条件的真假(True或False),决定执行哪部分代码逻辑。本质:赋予程序“决策”能力,是实现选择结构的基础。结果:判断结果仅有两种可能:真(True)或假(False)。如何表达条件?任何用于控制程序流程的条件,本质上都必须是一个能被求值为布尔值的表达式。示例:score>=60比较运算符构建的表达式,结果为布尔值。真值性与隐式判断Python允许非布尔对象作为条件,会自动按“真值性”转换。视为False的值包括:0、0.0、None、空字符串、空列表等。最佳实践:推荐使用显式布尔表达式(如ifx>0:),提升代码可读性。核心总结:条件判断是程序逻辑分支的基础,通过布尔值决定执行路径,清晰的显式条件是编写高质量代码的关键。3.1.2逻辑表达式的构造在编程中,单一条件往往不足以应对复杂的判断场景,我们需要利用逻辑运算符将多个条件组合,构建更精准的逻辑规则。and(逻辑“与”)当且仅当两个条件同时为真时,最终结果才为真。只要有一个为假,结果即为假。示例:x>=10andx<20or(逻辑“或”)只要参与运算的条件中有任意一个为真,最终结果就为真。只有全部为假时,结果才为假。示例:is_adminoris_loginnot(逻辑“非”)对条件的结果进行取反操作。如果原条件为真,取反后为假;原条件为假,取反后为真。示例:notis_locked场景示例:英语考试合格判定要求“笔试成绩60分以上”并且“听力测试合格”,两个条件必须同时满足。我们可以用`and`运算符将这两个独立的条件串联起来,实现严谨的结果判断。written=85;listening=Trueis_pass=(written>=60)andlistening#输出结果:True3.1.3短路求值(Short-circuitEvaluation)Python在对逻辑表达式求值时,遵循“从左到右、即时终止”的原则。一旦根据已计算的部分确定了整个表达式的最终布尔结果,解释器就会立即停止后续条件的计算,不再执行剩余的判断或操作。`and`运算:遇假即停如果第一个条件为`False`,整个表达式结果必然为`False`,Python会直接短路,不再计算第二个条件。`or`运算:遇真即停如果第一个条件为`True`,整个表达式结果必然为`True`,Python会直接短路,不再计算第二个条件。应用场景:避免运行时错误(如除以零)
先判断除数是否大于0,再执行除法运算。若除数为0,`and`左侧为假,右侧代码被跳过,有效防止程序因“ZeroDivisionError”崩溃。score_count=0#除数为0的临界情况
ifscore_count>0and(total_score/score_count)>=60:
print("成绩合格")#左侧为False,此行与除法均不执行3.1.4条件判断的常见模式与优先级常见判断模式链式比较:直接写成0<temp<40,无需拆分为多个判断,更符合数学直觉。成员判断:用in关键字检查值是否在序列中,简洁高效。运算符优先级规则1.算术运算:先计算加减乘除、幂运算等数学操作。2.比较运算:再进行大于、小于、等于等比较操作。3.逻辑运算:最后处理not→and→or的逻辑关系。可读性优先原则虽然Python有明确的优先级规则,但为了代码的可读性和消除歧义,强烈建议在复杂逻辑中使用括号显式表达执行顺序。括号能让代码意图一目了然,避免因记忆错误导致的逻辑Bug。推荐写法:is_validand(score>=(60+10))使用括号包裹子表达式,不仅符合Python的最佳实践,更能让后续维护代码的开发者(包括未来的自己)一眼理解判断逻辑的层级关系。3.2.1if语句的语法与执行流程核心作用:实现程序的基本决策能力,根据条件表达式的布尔值(True/False),决定是否执行特定的代码操作,是程序“思考”的基础。if条件表达式:#缩进的语句块(当条件为True时执行)print("条件满足,执行此代码")关键字与冒号以`if`关键字开头,条件表达式末尾必须紧跟英文冒号`:`,这是Python的语法规范。缩进的代码块Python用缩进(通常4个空格)划分代码块,决定哪些语句属于if的执行范围,缩进错误会导致程序报错。01对`if`后的条件表达式进行求值,得到布尔结果。02若结果为True,执行缩进的代码块,完成后继续后续代码。03若结果为False,直接跳过缩进块,执行后续代码。3.2.2单分支案例【例3-1】分数合法性判断需求分析:编写程序接收用户输入的学生成绩(0-100),使用单分支结构进行判断。如果输入的分数小于0或者大于100,则输出“成绩输入错误”的提示信息;若分数在合法范围内,程序不执行任何提示,直接结束。💡逻辑等价写法:原条件`score<0orscore>100`可转换为更符合数学表达习惯的写法:ifnot(0<=score<=100):score=float(input("请输入成绩:"))#单分支:判断是否超出合法范围ifscore<0orscore>100:print("成绩输入错误!")#无论是否执行分支,都会执行后续代码print("程序结束。")流程可视化解析如流程图所示,程序根据判断条件的结果,决定是否执行“提示错误”的分支操作。只有条件为真时,才会进入分支内部执行代码。3.3.1if-else语句的语法与执行流程if-else语句用于实现“二选一”的决策逻辑。程序会根据条件表达式的布尔值,选择执行if代码块或else代码块,确保在任何情况下,都有且仅有一个分支的代码被执行。if条件表达式:
#缩进的代码块A(条件为True时执行)
else:
#缩进的代码块B(条件为False时执行)语法规范else是关键字,必须与if顶格对齐,且行尾必须使用英文冒号。代码块需严格遵循缩进规则。执行互斥性代码块A和代码块B是互斥的,程序运行时,根据条件真假,只会选择其中一个分支执行,不会同时执行。流程确定性if-else结构保证了程序在条件判断后,必然会进入且仅进入一个分支,避免了程序出现“无分支执行”的逻辑漏洞。3.3.2双分支案例【例3-2】分数合法性判断与处理需求说明:用户输入学生成绩,程序判断其是否在0~100范围内。若合法则提示保存成功,否则提示输入错误。score=float(input("请输入学生成绩(0~100):"))
if0<=score<=100:
print("成绩已成功保存!")
else:
print("输入的分数不在0~100范围内!")图示为分数判断的双分支流程,清晰展示了程序在“满足条件”与“不满足条件”时的不同执行路径,确保所有情况都被覆盖。【例3-3】用户登录验证系统需求说明:系统预设一个正确密码,用户输入密码后,程序进行比对。若匹配则显示“登录成功”,若不匹配则提示“密码错误”,这是典型的权限验证逻辑。password=input("请输入密码:")
VALID_PWD="python123"#预设正确密码
ifpassword==VALID_PWD:
print("登录成功!欢迎访问系统。")
else:
print("密码错误,请检查后重试。")核心逻辑:if-else结构的本质是“非此即彼”的二元选择。在实际开发中,它常用于状态校验、权限控制等需要明确二选一的场景。3.4.1if-elif-else语句的语法与执行流程该结构用于处理从多个互斥条件中选择一个执行路径的复杂决策场景,能够清晰地表达多分支的业务逻辑,让程序更具逻辑性和可读性。【语法结构】if条件表达式1:#代码块Aelif条件表达式2:#代码块Belif条件表达式3:#代码块Celse:#代码块D核心执行原则自上而下依次判断,找到首个为True的条件执行其代码块,结构中最多仅一个代码块被执行。条件顺序关键优先放置范围更小、特殊性更强的条件。错误的顺序会导致逻辑覆盖,引发程序错误。图示为多分支判断的逻辑流向,每一个菱形判断节点都对应一个elif或if条件,确保程序按既定路径执行。3.4.2多分支案例【例3-4】成绩等级划分编写程序接收学生的考试分数,通过多分支条件判断,将其划分为“优、良好、中等、及格、不及格”五个等级并输出,实现自动化的成绩评定逻辑。score=float(input("请输入成绩:"))ifscore>=90:grade="优"elifscore>=80:grade="良好"#隐含80≤score<90elifscore>=70:grade="中等"#隐含70≤score<80elifscore>=60:grade="及格"#隐含60≤score<70else:grade="不及格"#所有小于60的情况print("成绩等级:",grade)逻辑优势分析:
程序自上而下进行条件判断,将范围从高到低排列,充分利用了`elif`的排他性。一旦某个条件满足,后续分支将自动跳过,无需重复编写上限判断(如`<90`),极大简化了代码逻辑。3.5.1嵌套条件的基本语法与应用核心定义在一个if、elif或else代码块内部,包含另一个完整的选择结构,用于处理层次化、多维度的复杂逻辑判断。01.标准语法结构if外层条件1:
#外层代码执行
if内层条件2:#嵌套的内层判断
执行语句块A
else:
执行语句块B
else:
执行语句块C执行逻辑关键:程序必须先满足“外层条件”为True,才会进入内层代码块进行二次判断;若外层条件为False,则直接跳过所有内层结构,执行外层else逻辑。02.实战:分级登录权限验证user=input("身份:")
ifuser=='Admin':
pwd=input("密码:")
ifpwd=='admin123':print("管理员登录成功")
else:print("密码错误")
else:print("非管理员用户")3.5.2嵌套的可读性问题与改进策略过深的嵌套(通常超过2-3层)会导致代码层次混乱、逻辑关系难以理解,形成“嵌套地狱”。通过逻辑扁平化与提前退出的手段,能有效提升代码的可读性与维护性。策略一:合并逻辑表达式,实现扁平化当多个条件必须同时成立时,优先使用and运算符合并条件,将多层嵌套缩减为单层判断,降低阅读的认知负担。将嵌套的双if判断合并为一行:ifa>0andb>0:print("正数")。直接的逻辑判断让代码意图一目了然。策略二:提前返回,优先处理异常情况对于明显不满足条件的边缘情况,在函数或逻辑开头就进行判断并立即退出,让主逻辑代码摆脱嵌套层级,结构更清晰。先处理不及格的情况并返回,剩余代码自然处理及格区间:ifscore<60:print("不及格");return。减少了else分支的嵌套深度。3.6.1条件表达式的基本语法与应用条件表达式是一种简洁的语法结构,用于根据布尔条件返回两个可能值中的一个。核心特点在于,它本质上是一个表达式(有返回值),而非流程控制语句,因此可以嵌入在赋值、函数参数等场景中使用。核心语法结构将“结果=x”和“结果=y”的二选一赋值,简化为一行代码:
result=xifconditionelsey逻辑执行流程先计算中间的condition:若结果为True,则返回并执行x;若为False,则返回并执行y。逻辑与标准if-else完全一致。传统if-else语句写法需要占用多行代码块,结构清晰但略显冗余,适合复杂的分支逻辑处理。条件表达式简洁写法一行代码完成赋值,极大精简代码量,可读性高。特别适合简单的“二选一”赋值场景,如考试结果判断。3.6.2嵌套条件表达式核心定义在一个条件表达式的内部,进一步嵌套另一个条件表达式,形成多层判断结构,从而在一行内处理更复杂的逻辑分支。主要作用能够极其简洁地表达多分支`if-elif-else`的逻辑,减少代码行数,使简单的多条件判断在视觉上更加紧凑直观。【例3-11】嵌套条件表达式判定成绩等级score=float(input("请输入成绩:"))grade=("优秀"ifscore>=90else"良好"ifscore>=80else"中等"ifscore>=70else"及格"ifscore>=60else"不及格")print("成绩等级:",grade)虽然嵌套条件表达式简洁,但嵌套层次过多会严重降低代码可读性。建议适度使用,逻辑复杂时优先选择清晰的`if-elif-else`结构。💡核心总结:嵌套条件表达式是简化多分支逻辑的利器,但可读性是代码的生命线。本章总结选择结构基础理解布尔值(`True`/`False`)、逻辑表达式和短路求值是使用选择结构的前提,是构建程序决策逻辑的基石。单分支`if`语句程序中最基础的选择形式,用于实现“满足条件则执行,否则跳过”的简单决策,是控制流程的第一步。双分支`if-else`语句实现“二选一”的互斥决策逻辑,当条件成立时执行一个分支,不成立时执行另一个分支,覆盖所有可能性。多分支`if-elif-else`语句处理包含多个条件的复杂选择场景,需特别注意条件的排列顺序和互斥性,确保程序按预期匹配正确的分支。选择结构的嵌套使用用于处理层次化的复杂逻辑判断,但应警惕嵌套层数过深,否则会显著降低代码的可读性与维护性。简洁的条件表达式也称为三元表达式,是双分支结构的简洁写法,适用于简单的条件赋值场景,让代码更加紧凑、易读。课后练习一、选择题·概念巩固1.下列关于if语句缩进的描述,错误的是:
正确答案是C.同一代码块中缩进不必保持一致。Python中缩进是语法的一部分,同一代码块必须严格保持一致。2.下列哪个表达式的结果为False?
正确答案是D.4<2。数学上4大于2,该比较表达式的值为False,其余选项的逻辑判断结果均为True。3.关于短路求值,下列说法正确的是:
正确答案是A.AND运算中,前半部分为False时不会继续求值。利用短路特性可以优化程序执行效率。二、编程题·实战演练基础判断应用1.判断一个数是否为正数;2.判断输入年份是否为闰年;3.比较两数大小输出较大值。场景逻辑模拟4.模拟用户登录验证流程;5.判断三条边长能否组成三角形;6.实现商品购买的打折计算。进阶条件分支7.输入月份(1-12),判断所属的季节;8.根据当前小时数,输出对应的时段问候语。练习小贴士尝试用不同的分支结构实现同一功能,对比代码的可读性与效率。注意边界条件的处理。第4章循环结构Python编程核心基础讲师:[您的姓名]日期:2026年6月本章目录01.循环结构概述解析循环结构的核心概念,对比Python中while与for两种循环的设计初衷与适用场景。02.while循环详解深入理解while循环的语法与执行流程,掌握常见应用模式,并学习如何编写条件避免死循环。03.for循环与range()函数掌握for循环遍历序列的语法,详解range()函数的参数用法,实现对数字序列的高效迭代。04.循环控制语句学习使用break跳出循环、continue跳过当前迭代,以及循环中else子句的特殊执行逻辑。05.嵌套循环与循环优化理解多层循环嵌套的执行逻辑,掌握循环优化的基本原则,提升代码的执行效率与可读性。06.总结与练习梳理本章核心知识点,通过针对性的编程练习巩固循环结构的使用,加深对逻辑的理解。1.1什么是循环结构?就像不知疲倦的机械臂,循环结构让计算机能自动化地重复执行特定任务,处理海量操作。循环结构是程序设计中实现重复执行的核心机制。它允许一段代码(循环体)根据设定条件多次运行,是高效处理重复性任务、遍历数据集合的关键手段。极致自动化将程序员从繁琐、重复的代码编写中彻底解放,把机械性工作交给计算机自动完成。超高执行效率用极少的代码行数,即可处理成千上万次重复操作,大幅压缩程序体积与开发时间。流程高灵活性支持根据数据、状态等动态条件控制循环的开始、暂停与终止,适配复杂的业务逻辑。生活化类比:要给100人发邀请邮件,无需手动复制粘贴100次。循环就像自动化助手,只需下达“对名单每个人执行发送”的指令,它便会自动完成所有重复工作。1.2Python中的两种循环while循环:条件控制型核心逻辑遵循“只要条件为真,就继续执行”的规则。程序会先判断条件表达式,若结果为True,则执行循环体代码。适用场景:循环次数不确定,仅知道终止条件的场景,例如用户输入验证、等待某个事件发生等。for循环:遍历迭代型核心逻辑是“对于可迭代对象中的每一个元素,依次执行循环体”。它会自动遍历序列(如列表、字符串)中的每个元素,无需手动控制计数。适用场景:循环次数已知,或需要对数据集合(如列表、元组、字典)进行逐一处理和遍历的场景。总结:while循环侧重于“满足条件就做”,适合未知次数的循环;for循环侧重于“逐个遍历”,适合已知范围或集合的遍历,是Python中更常用的循环结构。2.1while循环的语法与执行流程while条件表达式:#缩进的语句块:循环体,Python通过缩进来识别代码块#关键:必须有语句更新条件变量,确保循环最终能终止!#循环结束后,程序从这里继续执行后续语句循环关键字以`while`开头,是Python中实现基本循环的核心关键字。布尔条件判断紧跟关键字的表达式,结果必须是True或False,决定是否执行循环。冒号与缩进冒号声明块开始,缩进(通常4空格)界定循环体范围,是语法的关键。确保循环终止循环体内必须有语句更新条件变量,避免出现无限循环的死循环。核心原则:先判断,后执行程序首先计算条件表达式的值。若为True,执行缩进的循环体语句;执行完毕后,再次回到条件判断步骤。重复此过程,直到条件为False,才跳出循环,执行后续代码。2.1.3应用示例:输出1到5并求和#初始化计数器和总和变量
i=1total=0
#循环条件:i小于等于5
whilei<=5:
total+=i#累加当前i的值到总和
print(i)#打印当前i的值
i+=1#关键:更新计数器,避免死循环
#循环结束后输出最终结果
print("和为:",total)核心逻辑:利用while循环的“条件判断-执行-更新”机制,从1开始逐步遍历到5,在每次循环中完成数值的累加与输出,最终得到1到5的自然数之和。计数控制变量变量i作为计数器,初始值为1,每次循环执行i+=1,驱动循环的推进,是避免死循环的关键。累加器变量变量total初始化为0,在循环体内执行total+=i,将每次的i值累加到总和中,用于存储最终的计算结果。循环终止逻辑循环继续的条件是i<=5。当i增加到6时,条件表达式结果为False,循环将立即终止,程序跳转到循环后的代码执行。执行结果输出程序会依次打印1、2、3、4、5,循环结束后执行最后的print语句,输出累加的最终结果为15,即1+2+3+4+5的计算值。💡提示:在while循环中,务必确保循环变量会发生变化,否则会陷入死循环。2.2while循环的常见模式01计数循环(确定次数)当循环次数事先已知时,通过初始化计数器变量,在循环条件中判断计数范围,并在循环体内更新计数器,从而精确控制循环执行的次数。#1.初始化计数器变量
i=1
#2.设置循环条件:执行10次
whilei<=10:
print("第",i,"次执行")
i+=1#3.每次循环更新计数器
print("计数结束!")核心逻辑:初始化→条件判断→执行操作→更新计数,形成闭环以达成固定次数的循环。02条件驱动循环(不确定次数)循环次数无法预先确定,而是由程序运行时的动态条件(如用户输入、外部数据状态)来决定循环的开始与终止。total=0.0
num=float(input("输入正数(负数结束):"))
whilenum>=0:
total+=num
num=float(input("输入正数(负数结束):"))
print(f"总和为:{total:.2f}")哨兵值:用于终止循环的特殊值(如上例中的负数),它不参与核心业务计算,仅作为循环结束的信号。2.3防止死循环的原则什么是死循环?指循环的条件表达式始终为True,导致程序无限重复执行某段代码,无法正常结束流程,是编程中常见的逻辑错误,会造成程序“卡死”或资源耗尽。01.条件可变循环体内必须包含能改变条件表达式结果的语句。
❌典型反例:在计数循环中忘记写`i+=1`等更新操作。02.更新正确确保更新语句的逻辑能让条件最终变为False。
❌典型反例:循环目标是递增到100,却错误写为`i-=1`导致数值偏离。03.退出明确设计合理、可达成的退出条件,保证循环在有限步骤内终止。避免使用永远无法满足的条件,让程序逻辑有明确的终点。关键机制:输入防护在交互式程序中,必须预判用户可能的错误输入(如非数字、负数等),通过循环校验机制提示并要求重新输入,从源头避免非法数据导致的死循环或程序崩溃。num=float(input("请输入正数:"))
whilenum<=0:
print("错误!请重新输入:")
num=float(input())#核心:循环内更新变量3.1for循环的语法与序列遍历for循环是Python中最常用的循环结构,核心作用是遍历(iterate)可迭代对象中的元素,依次取出每个元素并执行指定操作,直到所有元素处理完毕。01什么是可迭代对象?字符串(String)如"Hello,Python",可逐个取出其中的字符进行处理。字典(Dictionary)如{"name":"Alice"},默认遍历键,也可遍历键值对。列表与元组(List/Tuple)有序元素集合,如[1,2,3],按顺序遍历每个成员。range()整数序列生成指定范围的整数,是控制循环次数的常用方式。for变量in可迭代对象:循环体代码块(严格遵循缩进规范)核心要点:`in`负责从对象中“取值”,无需手动管理索引。3.1.2应用示例遍历就像传送带上的包裹处理,程序会依次取出集合(如字符串、列表)中的每个元素,逐个进行操作,直到所有元素处理完毕。【例4-5】遍历字符串并统计字符个数text="Python" count=0 forchintext:#依次取出每个字符赋值给ch print(ch) count+=1 print("字符串中共有",count,"个字符")【例4-6】遍历列表输出水果名称fruits=['apple','banana','cherry'] forfinfruits:#依次取出列表元素赋值给f print("当前水果:",f) print("循环结束。") #输出:当前水果:apple(换行)当前水果:banana...3.2range()函数的参数含义与常见用法range()函数是Python提供的整数序列生成工具,常与for循环配合使用,替代传统的while计数循环,能更简洁、高效地实现“计数循环”逻辑,是Python中最常用的内置函数之一。01.单参数:range(stop)生成从0开始,到stop(不包含)结束的整数序列。
示例:range(5)生成序列:0,1,2,3,4。02.双参数:range(start,stop)生成从start开始,到stop(不包含)结束的整数序列。
示例:range(2,7)生成序列:2,3,4,5,6。03.三参数:range(start,stop,step)按step指定的步长增减,到stop(不包含)结束。
示例:range(10,3,-2)生成序列:10,8,6,4。核心原则:range()生成的序列始终遵循“包含起始值,不包含终止值”的规则,这是理解和使用该函数的关键。3.2.2应用示例【例4-7】range()函数的计数与倒序输出#生成0到4的整数序列
foriinrange(5):print(i,end="")
#生成2到6的整数序列
foriinrange(2,7):print(i)
#倒序生成10,8,6,4(步长-2)
foriinrange(10,3,-2):print(i)range()函数支持生成正向、指定起始点及自定义步长(含负数步长)的整数序列,是Python中实现循环计数的高效工具。【例4-8】计算1到100的整数和total=0
#遍历1到100的整数序列并累加
foriinrange(1,101):total+=i
print("1到100的和为:",total)#输出结果5050利用for循环结合range(1,101)简洁地遍历目标整数区间,避免了while循环的边界条件错误,最终得到结果5050。4.1break语句:立即终止循环`break`语句用于立即终止当前所在的循环结构(for或while),程序执行流会直接跳出循环,转而执行循环之后的后续代码,不再执行循环体中剩余的语句。核心应用场景:提前退出循环常用于在遍历数据、检索目标或监控状态时,一旦满足特定条件(如找到结果、检测到异常值),即刻停止循环,避免无效迭代,提升程序效率。【例4-9】输入整数,遇负数即终止程序whileTrue:#构建无限循环,等待条件触发退出num=int(input("请
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 激光雕刻机三维雕刻技术创新总结报告
- 家电行业智能空调温度精准控制项目技术创新总结报告
- 胸腔闭式引流护理操作查房
- 管网工程施工方案(新版)
- 2026年秋人教版新八年级英语上册 专题03 介词、数词、连词和频度副词(暑假复习讲义)
- 中级注册安全工程师之安全实务化工安全真题及答案
- 非煤矿山企业驾驶员日常检查安全操作规程
- 酒店临时用电施工方案
- 食堂满意度调查策划书
- 制冷企业车工日常检查安全操作规程
- 2026年廉洁从业教育培训测试题及答案
- 2026年吉林省国资委监管企业2026年度第一次集中招聘(613人)考试备考题库及答案详解
- 金融赋能:我国城镇化建设中金融发展与城镇化关系的深度剖析与实证研究
- 二年级孤独的小螃蟹故事
- 代理记账100问(完整版带答案)
- 中央空调冷凝水管道改造技术方案
- 宁夏回族自治区银川市永宁中学2025-2026学年第二学期第一次阶段检测高一物理试卷(含解析)
- TSG 08-2026 特种设备使用管理规则
- 危化品企业法人责任制度
- 快递网点管理制度牌
- jb-qb-5ei型火灾报警控制器使用说明书(船用)v2.0
评论
0/150
提交评论