Python程序设计ppt课件(完整版).ppt
Python程序设计程序设计Python程序设计应用教程 主编主编第1章Python语言介绍1.1 Python语言简介1.2 安装与配置Python环境1.3 Python开发环境IDLE简介1.4 Python基本输入输出1.5 Python代码规范1.6 使用帮助1.1Python语言简介Python 是一种面向对象、解释型计算机程序设计语言,由荷兰人Guido van Rossum 于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C+)很轻松地联结在一起。正因为 Python 语言的简洁、优雅、开发效率高,它常被用于网站开发,网络编程,图形处理,黑客编程等等。pPython由荷兰的Guido van Rossum设计。pPython第一个版本于1991年初公开发行。pPython 2.0于2000年10月发布,增加了许多新的语言特性。pPython 3.0于2008年12月发布,此版本不完全兼容Python 2.0,导致Python 2.0与Python 3.0不兼容。pPython 3.5在2015年9月发布pPython3.6正式版在2016年12月发布,主要的新特性包括:async 和 await 关键字可用于生成器和推导;改善 CPython 实现,在不破坏兼容性的情况下降低内存占用和提高速度;可插拔支持 JIT、跟踪器和调试器;引入新的字符串和数字格式,为变量加入类型注释,简化定制子类创建的方法,等等。Python语言的发展历史TIOBE 2016TIOBE 2016年年8 8月编程语言排行榜月编程语言排行榜是一种面向对象、解释型计算机程序设计语言纯粹的自由软件Python语法简洁清晰,用空格(space)作为语句缩进Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C+)很轻松地联结在一起。Python快速生成程序的原型封装Python可以调用的扩展类库跨平台,程序无需修改在Windows、Linux、Unix、Mac等操作系统上使用pWeb开发,基于python的优秀web框架如Djangop网络编程,网页解析,如爬虫程序开发p科学计算,各种实验数据的处理以及相关实验模拟等,机器学习等p数据库应用数据库应用p多媒体多媒体开发开发p电子游戏开发电子游戏开发需要什么应用就能找到什么库应用领域1.1.3 Python语言的应用领域语言的应用领域1Web开发开发 Python语言支持Web网站开发,比较流行的开发框架有web2py、django等。许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。利用py2exe模块可以将Python程序转换为.exe可执行程序,使得Python程序可以脱离Python系统环境来运行。2网络网络编程编程Python语言提供了socket模块,对Socket接口进行了二次封装,支持Socket接口的访问;还提供了urllib、cookielib、httplib、scrapy等大量模块,用于对网页内容进行读取和处理,并结合多线程编程以及其他有关模块可以快速开发网页爬虫之类的应用程序。3科学计算与数据可视化科学计算与数据可视化Python中用于科学计算与数据可视化的模块有很多,例如NumPy、SciPy、SymPy、Matplotlib、Traits、TraitsUI、Chaco、TVTK、Mayavi、VPython、OpenCV等,涉及的应用领域包括数值计算、符号计算、二维图表、三维数据可视化、三维动画演示、图像处理以及界面设计等。4数据库应用数据库应用Python数据库模块有很多,例如,可以通过内置的sqlite3模块访问SQLite数据库,使用pywin32模块访问Access数据库,使用pymysql模块访问MySQL数据库,使用pywin32和pymssql模块来访问SQL Sever数据库。5多媒体多媒体开发开发PyMedia模块是一个用于多媒体操作的Python模块,可以对包括WAV、MP3、AVI等多媒体格式文件进行编码、解码和播放;PyOpenGL模块封装了OpenGL应用程序编程接口,通过该模块可在Python程序中集成二维或三维图形;PIL(Python Imaging Library,Python图形库)为Python提供了强大的图像处理功能,并提供广泛的图像文件格式支持。6电子游戏应用电子游戏应用Pygame就是用来开发电子游戏软件的Python模块,在SDL库的基础上开发,可以支持多个操作系统。使用Pygame模块,可以在Python程序中创建功能丰富的游戏和多媒体程序。目前使用Python的企业Google 在其网络搜索系统中广泛应用了Python,并且聘用了Python 的创作者。YouTube 视频分享服务大部分是由Python 编写的。流行的P2P 文件分享系统Bittorrent 是一个Python 程序。Intel、Cisco、Hewlett-Packard、Seagate、Qualcomm 和IBM 使用Python 进行硬件测试。Industrial Light&Magic、Pixar 等公司使用Python 制作动画电影。NASA、Los Alamos、Fermilab、JPL 等使用Python 实现科学计算任务。IRobot 使用Python 开发了商业机器人真空吸尘器。ESRI 在其流行的GIS 地图产品中使用Python 作为终端用户的定制工具。NSA 在加密和智能分析中使用Python。Python缺点任何编程语言都有缺点,Python缺点主要有:(1)运行速度慢。(2)代码不能加密。(3)用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误。1.2安装与配置Python环境1.2安装与配置Python环境1.2.2 1.2.2 运行运行PythonPython安装成功后,cmd打开命令提示符窗口,敲入python后,会出现图1-2命令提示符窗口。在窗口中看到python的版本信息的画面,就说明Python安装成功。1.3Python开发环境IDLE简介1.3.1 IDLE的启动安装Python后,我们可以从“开始”菜单“所有程序”“Python 3.7”“IDLE(Python 3.7)”来启动IDLE。Python的命令执行方式的命令执行方式启动Python解释器后,可以直接在其提示符()后输入语句。例如,先在提示符后输入一个输出语句,下一行将接着输出结果。print(Hello,World!)Hello,World!print(1+3/4)1.751.3.2利用IDLE创建Python程序可在IDLE界面中使用菜单“File”“New File”命令启动编辑器(图1-4所示),来创建一个程序文件,输入代码并保存为文件(务必要保证扩展名为“.py”)。p=input(Pleaseinputyourpassword:n)ifp!=123:print(passworderror!)1.3.2利用IDLE创建Python程序Python程序员通常选用第三方集成开发环境(IDE,Integrated Development Environment)进行程序设计。常用的IDE有Notepad+,PyScripter,PyCharm,Eclipse with PyDev,Komodo,Wing IDE等,它们通常具有一些自动代码完成、参数提示、代码错误检查等功能1.3.3IDLE常用编辑功能对于“Format”菜单,常用的选项及解释如下所示:Indent region:使所选内容右移一级,即增加缩进量。Dedent region:使所选内容组左移一级,即减少缩进量。Comment out region:将所选内容变成注释。Uncomment region:去除所选内容每行前面的注释符。New indent width:重新设定制表位缩进宽度,范围216,宽度为2相当于1个空格。Expand word:单词自动完成。Toggle tabs:打开或关闭制表位。1.3.4在IDLE中运行和调试程序1 1运行运行PythonPython程序程序要使用IDLE执行程序的话,可以从“Run”菜单中选择“Run Module”菜单项(或按F5键)2 2使用使用IDLEIDLE的调试器的调试器在“Python Shell”窗口中单击“Debug”菜单中的“Debugger”菜单项,就可以启动IDLE的交互式调试器。这时,IDLE会打开图1-6的“Debug Control”窗口,并在“Python Shell”窗口中输出“DEBUG ON”并后跟一个“”提示符。这样,我们就能像平时那样使用这个“Python Shell”窗口了,只不过现在输入的任何命令都是允许在调试器下。在“Debug Control”窗口查看局部变量和全局变量等有关内容。1.3.4在IDLE中运行和调试程序 DEBUG ON x=3 单击GODEBUG ON y=4 单击GODEBUG ON z=5DEBUG ON 常用的Python第三方编辑器Python程序员通常选用第三方集成开发环境(IDE,Integrated Development Environment)进行程序设计。常用的IDE有Notepad+,PyScripter,PyCharm,Eclipse with PyDev,Komodo,Wing IDE等,它们通常具有一些自动代码完成、参数提示、代码错误检查等功能PyCharm支持支持python3.xpython3.x,良好代码提示,中文编码不需设置,免,良好代码提示,中文编码不需设置,免费版费版PythonPython功能齐全功能齐全菜单为英文菜单为英文PyCharm新建Python程序项目PyCharm中选择FileCreate New Project,进入Create Project对话框界面,其中的Location是选择新建的Python程序存储的位置和项目名(如C:PycharmProjectsmy1),选择好后,单击Create按钮。鼠标右击项目名my1,然后选择NewPython FilePyCharm新建Python程序项目文件创建成功后便进入下图界面,在右侧编辑窗口中便可以编写自己的程序。PyCharm运行和调试Python程序(1)设置断点:在需要调试的代码块的那一行行号右边,左键单击出现一个红色圆点标志,就是断点(如图1-9所示第3行)。(2)调试程序:单击工具栏中 Debug图标按钮。(3)图1-9中底部显示出Debugger控制台面板。单击Step Over按钮 开始步步调试,每单击一次执行一步。并在解释区显示变量内容。(4)执行完最后一步,解释区会被清空。整个过程能清楚的看到代码的运行位置。1.4Python基本输入输出1.4.1 Python1.4.1 Python基本输入基本输入输入是通过input()函数来实现的,input()的一般格式为:a=input(提示:)基本输入如果需要输入整数或小数,则需要使用int或float函数进行转。例如:1.4Python基本输入输出1.4.2 Python1.4.2 Python基本输出基本输出Python 2.7和Python 3.5的输出方法也不完全一致。在Python 2.7中,使用print语句进行输出,而Python 3.5中使用print()函数进行输出。foriinrange(10,20):print(i,end=)Python基本输出基本输出Python基本输出基本输出1.5Python代码规范(1)缩进Python程序是依靠代码块的缩进来体现代码之间的逻辑关系的(2)注释方法一:以#开始,表示本行#之后的内容为注释。#循环输出0到9数字for i in range(10):print(i,end=)方法二:包含在一对三引号.或.之间且不属于任何语句的内容将被解释器认为是注释。1.5Python代码规范(3)每个import只导入一个模块。而不要一次导入多个模块。(4)如果一行语句太长,可以在行尾加上反斜杠“”来换行分成多行,但是更建议使用括号来包含多行内容。(5)必要的空格与空行运算符两侧、函数参数之间、逗号两侧建议使用空格分开。不同功能的代码块之间、不同的函数定义之间建议增加一个空行以增加可读性。(6)常量名所有字母大写,由下划线连接各个单词。类名首字母大写。1.6使用帮助使用格式如下:help(对象)下面分3种情况进行说明。1查看内置函数和类型的帮助信息 help(max)2查看模块中的成员函数信息 import os help(os.fdopen)上例查看os模块中的fdopen成员函数信息3查看整个模块的信息使用help(模块名)就能查看整个模块的帮助信息。注意先import导入该模块。例如:查看math模块方法:import math help(math)第第2章章 Python语法基础语法基础41计算机学院副教授计算机学院副教授2.1Python数据类型2.1.1 2.1.1 数值类型数值类型Python 数值类型用于存储数值。整型(int):通常被称为是整型或整数,是正或负整数,不带小数点。长整型(long):无限大小的整数,整数最后是一个大写或小写的L。在Python3里,只有一种整数类型 int,没有Python2 中的 Long。浮点型(float):浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.78e2就是2.78 x 102=278)复数(complex):复数由实数部分和虚数部分构成,可以用a+bj,或者complex(a,b)表示,复数的虚部以字母j或J结尾。如:2+3j。42Python使用单引号和双引号来表示字符串是一样的。1 1创建和访问字符串创建和访问字符串创建字符串很简单,只要为变量分配一个值即可。例如:var1=Hello World!var2=Python Programming 2 2PythonPython转义字符转义字符需要在字符中使用特殊字符时,Python用反斜杠()转义字符2.1.2字符串433 3PythonPython字符串运算符字符串运算符Python字符串运算符如表2-2所示。a=Hello b=Python2.1.2字符串444 4字符串格式化字符串格式化Python 支持格式化字符串的输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到有字符串格式符的模板中。在 Python 中,字符串格式化使用与 C语言中printf函数一样的语法。print(我的名字是%s 年龄是%d%(xmj,41)Python用一个元祖将多个值传递给模板,每个值对应一个字符串格式符。上例将xmj插入到%s处,41插入到%d处。所以输出结果:我的名字是 xmj 年龄是 41 2.1.2字符串454 4字符串格式化字符串格式化2.1.2字符串462.1.3布尔类型Python支持布尔类型的数据,布尔类型只有True和False两种值。and与运算:只有两个布尔值都为 True 时,计算结果才为True。or或运算:只要有一个布尔值为 True,计算结果就是 True。not非运算:把True变为False,或者把False变为True:在Python中,布尔类型还可以与其他数据类型做and、or和not运算,这时下面的几种情况会被认为是FALSE:为0的数字,包括0,0.0;空字符串,;表示空值的None;空集合,包括空元祖(),空序列,空字典;其他的值都为TRUE。例如:a=pythonprint(a and True)#结果是 Trueb=print(b or False)#结果是 False47在Python中,逻辑值True和False作为数值,则分别是整型值1和0参与运算。例如:x=Falsea=x+(54)#结果a是1 b=x+5#结果b是5482.1Python数据类型2.1.4 2.1.4 空值空值空值是Python里一个特殊的值,用None表示。它不支持任何运算也没有任何内置函数方法。None和任何其他的数据类型比较永远返回False。在Python 中未指定返回值的函数会自动返回None。2.1.5 Python2.1.5 Python数字类型转换数字类型转换x=20#八进制为24y=345.6print(oct(x)#打印结果是0o24print(int(y)#打印结果是345print(float(x)#打印结果是20.0print(chr(65)#A的ASCII为65,打印结果是Aprint(ord(B)#B的ASCII为66,打印结果是66492.2常量和变量2.2.1 2.2.1 变量变量变量在程序中就是用一个变量名表示,变量名必须是大小写英文、数字和_的组合,且不能用数字开头,比如:在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:a=123#a是整数a=ABC#a变为字符串这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。502.2常量和变量理解变量512.2.2常量所谓常量就是不能变的变量,比如常用的数学常数就是一个常量。在Python中,通常用全部大写的变量名表示常量:PI=3.14159265359但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,实际上是可以改变变量PI的值。522.3运算符与表达式Python语言支持运算符有以下几种类型。算术运算符 比较(即关系)运算符 赋值运算符 逻辑运算符 位运算符 成员操作符 标识操作符532.3运算符与表达式1 1算术运算符算术运算符算术运算符实现数学运算,Python语言算术运算符如表2-5所示。假设其中变量a=10和变量b=20。542关系运算符关系运算符用于两个值进行比较,运算结果为True(真)或False(假)。Python中的关系运算符如表2-6所示。假设其中变量a=10和变量b=20。553逻辑运算符Python中提供了三种逻辑运算符,它们是:and(逻辑与,二元运算符)or (逻辑或,二元运算符)not(逻辑非,一元运算符)564赋值运算符赋值运算符“=”的一般格式为:变量=表达式它表示将其右侧的表达式求出结果,赋给其左侧的变量。例如:i=3*(4+5)#i的值变为27575位运算符 位(bit)是计算机中表示信息的最小单位,位运算符作用于位和位操作。Python中位运算符如下:按位与(&)、按位或(|)、按位异或()、按位求反()、左移()。位运算符是对其操作数按其二进制形式逐位进行运算。a=0011 1100b=0000 1101a&b=0000 1100a|b=0011 1101ab=0011 0001a=1100 0011586Python成员运算Python成员运算符判断序列中是否有某个成员。成员运算符如表2-9所示。597.Python标识运算符标识符比较两个对象的内存位置。608Python运算符优先级在一个表达式中出现多种运算时,将按照预先确定的顺序计算并解析各个部分,这个顺序称为运算符优先级。612.3.2表达式表达式是一个或多个运算的组合。Python语言的表达式与其他语言的表达式没有显著的区别。每个符合Python语言规则的表达式的计算都是一个确定的值。对于常量、变量的运算和对于函数的调用都可以构成表达式。在后续章节中介绍的序列、函数、对象都可以成为表达式一部分。622.4序列数据结构数据结构是计算机存储、组织数据的方式。序列序列是Python中最基本的数据结构。序列序列中的每个元素都分配一个数字即它的位置或索引,第一个索引是0,第二个索引是1,依此类推。序列都可以进行的操作包括索引,截取(切片),加,乘,成员检查。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。Python内置序列类型最常见的是列表、元组、列表、元组、字符串字符串。另外,另外,PythonPython提供了提供了字典和集合字典和集合这样的数据结构,它们属于无这样的数据结构,它们属于无顺序的数据集合体,不能通过位置索引号来访问数据元素。顺序的数据集合体,不能通过位置索引号来访问数据元素。632.4.1列表列表(list)是最常用的Python数据类型,列表的数据项不需要具有相同的类型。列表类似其他语言的数组,但功能比数组强大的多。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。实例如下:list1=中国,美国,1997,2000;list2=1,2,3,4,5;列表索引从0开始。列表可以进行截取(切片)、组合等。642.4.1列表1 1访问列表中的值访问列表中的值list1=中国,美国,1997,2000;list2=1,2,3,4,5,6,7;print(list10:,list10)print(list21:5:,list21:5)652.4.1列表2 2更新列表更新列表可以对列表的数据项进行修改或更新,实例如下:list=中国,chemistry,1997,2000;print(Value available at index 2:)print(list2)list2=2001;print(New value available at index 2:)print(list2)3 3删除列表元素删除列表元素方法一:使用 del 语句来删除列表的的元素方法二:使用 remove()方法来删除列表的元素方法三:使用pop()方法方法来删除列表的指定位置的元素,无参数时删除最后一个元素662.4.1列表4 4添加列表元素添加列表元素可以使用 append()方法在列表末尾添加元素,如下实例:list1=中国,美国,1997,2000list1.append(2003)print(list1)以上实例输出结果:中国,美国,1997,2000,2003672.4.1列表5 5定义多维列表定义多维列表可以将多维列表视为列表的嵌套,即多维列表的元素值也是一个列表,只是维度比父列表小一。例如:定义1个二维列表。list2=CPU,内存,硬盘,声卡二维列表比一维列表多一个索引,可以如下获取元素:列表名索引1索引2例如:定义3行6列的二维列表,打印出元素值。68rows=3cols=6matrix=0 for col in range(cols)for row in range(rows)#列表生成式for i in range(rows):for j in range(cols):matrixij=i*3+j print(matrixij,end=,)print(n)print x*x for x in range(1,11)1,4,9,16,25,36,49,64,81,100690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0Python列表内置函数和方法702.4.2元组Python的元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组使用小括号(),列表使用方括号。元组中的元素类型也可以不相同。1 1创建元组创建元组tup1=(中国,美国,1997,2000)tup2=(1,2,3,4,5)tup3=a,b,c,d2 2访问元组访问元组tup1=(中国,美国,1997,2000)tup2=(1,2,3,4,5,6,7)print(tup10:,tup10)#输出元组的第一个元素print(tup21:5:,tup21:5)#切片,输出从第二个元素开始到第五个元素print(tup22:)713 3元组连接元组连接元组中的元素值是不允许修改的,但可以对元组进行连接组合,实例如下:tup1=(12,34,56)tup2=(78,90)#tup10=100#修改元组元素操作是非法的。tup3=tup1+tup2#连接元组,创建一个新的元组print(tup3)以上实例输出结果:(12,34,56,78,90)4 4删除元组删除元组元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组。72元组与列表转换可以使用下面方法将元祖转换为列表:列表对象=list(元组对象)tup=(1,2,3,4,5)list1=list(tup)#元组转为列表print(list1)#返回1,2,3,4,5可以使用下面方法将列表转换为元祖:元组对象=tuple(列表对象)nums=1,3,5,7,8,13,20print(tuple(nums)#列表转为元组,返回(1,3,5,7,8,13,20)732.4.3字典Python字典(dict)是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等。字典也被称作关联数组或哈希表。1 1创建字典创建字典键值对键值对key-valuekey-value一个简单的字典实例:dict=zhangsan:91,wangwu:80也可如此创建字典:dict1=abc:456;dict2=abc:123,98.6:37;742 2访问字典里的值访问字典里的值访问字典里的值时把相应的键放入方括号里,如下实例:dict=Name:王海,Age:17,Class:计算机一班print(dictName:,dictName)print(dictAge:,dictAge)3 3修改字典修改字典dict=Name:王海,Age:17,Class:计算机一班dictAge=18#更新键/值对(update existing entry)dictSchool=中原工学院#增加新的键/值对(add new entry)print(dictAge:,dictAge)print(dictSchool:,dictSchool;752.4.4集合集合(set)是一个无序不重复元素的序列。集合基本功能是进行成员关系测试和删除重复元素。1 1创建集合创建集合可以使用大括号大括号()()或者或者 set()set()函数函数创建集合,注意:创建一个空集合必须用 set()而不是 ,因为 是用来创建一个空字典。student=Tom,Jim,Mary,Tom,Jack,Roseprint(student)#输出集合,重复的元素被自动去掉76集合运算可以使用“-”、“|”、“&”运算符进行集合的差集、并集、交集运算。#set可以进行集合运算a=set(abcd)#a=a,b,c,d b=set(cdef)print(a)print(a和b的差集:,a-b)#a和b的差集a,b print(a和b的并集:,a|b)#a和b的并集 a,b,c,d,e print(a和b的交集:,a&b)#a和b的交集c,d print(a和b中不同时存在的元素:,a b)#a和b中不同时存在的元素77第第3章章 Python控制语句控制语句计算机学院副教授计算机学院副教授3.1选择结构三种基本程序结构中的选择结构,可用if语句、ifelse语句和ifelifelse语句实现。if语句的语法形式如下所示:if表达式:语句1#比较输入的整数是否大于6a=input(请输入一个整数:)#取得一个字符串a=int(a)#将字符串转换为整数ifa6:print(a,大于6)ifelse语句的语法形式如下所示:if 表达式:语句1else:语句23.1.2ifelse语句a=input(请输入一个整数:)#取得一个字符串a=int(a)#将字符串转换为整数ifa6:print(a,大于6)else:print(a,小于等于6)if 表达式1:语句1elif 表达式2:语句2 elif 表达式n:语句nelse:语句n+13.1.3ifelifelse语句多分支例题【例题】输入学生的成绩score,按分数输出其等级:score90为优,90score80为良,80score70为中等,70score60为及格,score=90:print(优)elif score=80:print(良)elif score=70:print(中)elif score=60:print(及格)else:print(不及格)3.2.1 while 3.2.1 while 语句语句while 判断条件:执行语句3.2循环结构count=0whilecount9:print(Hello)count=count+1print(Goodbye!)print(Hello)print(Hello)print(Hello)print(Hello)print(Hello)print(Hello)print(Hello)print(Hello)print(Hello)print(Goodbye!)HelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloGood bye!Good bye!3.2.1 while 3.2.1 while 语句语句while 判断条件:执行语句3.2循环结构count=0whilecount9:print(Thecountis:,count)count=count+1print(Goodbye!)The count is:0The count is:0The count is:1The count is:1The count is:2The count is:2The count is:3The count is:3The count is:4The count is:4The count is:5The count is:5The count is:6The count is:6The count is:7The count is:7The count is:8The count is:8Good bye!Good bye!累加和【例题】求1+2+3+100。分析:计算累加和需要两个变量,变量sum存放累加和,变量counter存放加数。重复将加数counter加到sum中。程序代码:sum=0counter=1while counter=100:sum=sum+counter counter+=1 print(1 到100之和为:,sum)3.2.2for语句for语句可以遍历任何序列的项目,如一个列表、元祖或者一个字符串。1 1forfor循环的语法循环的语法for循环的语法格式如下:for 循环索引值 in 序列 循环体for循环把字符串中字符遍历出来。forletterinPython:#第一个实例print(当前字母:,letter)for循环把列表中元素遍历出来。fruits=banana,apple,mangoforfruitinfruits:#第二个实例print(元素:,fruit)print(Goodbye!)程序运行结果:当前字母:P当前字母:y当前字母:t当前字母:h当前字母:o当前字母:n元素:banana元素:apple元素:mangoGoodbye!计算110的整数之和,可以用一个sum变量做累加。程序代码:sum=0sum=0for x in 1,2,3,4,5,6,7,8,9,10:for x in 1,2,3,4,5,6,7,8,9,10:sum=sum+x sum=sum+xprint(sum)print(sum)PythonPython提供一个提供一个range()range()内置函数,可以生成一个整数序列内置函数,可以生成一个整数序列。range(1,101)就可以生成1100的整数序列,计算1100的整数之和如下:sum=0sum=0for x in range(1,101):for x in range(1,101):sum=sum+x sum=sum+xprint(sum)print(sum)3.2.2for语句2 2通过索引循环通过索引循环对于一个列表,另外一种执行循环的遍历方式是通过索引(元素下标)。实例如下:fruits=banana,apple,mangofor i in range(len(fruits):i in range(len(fruits):#for i in 0,1,2:print(当前水果:,fruitsi)print(Good bye!)3.2.3continue和break语句break语句在while循环和for循环中都可以使用,一般放在if选择结构中,一旦break语句被执行,将使得整个循环提前结束。continue语句的作用是终止当前循环,并忽略continue之后的语句,然后回到循环的顶端,提前进入下一次循环。3.2.4循环嵌套Python 语言允许在一个循环体里面嵌入另一个循环。如在while循环中可以嵌入for循环;也可以在for循环中嵌入while循环。嵌套层次一般不超过3层,以保证可读性。【例3-6】打印九九乘法表。【例3-7】使用嵌套循环输出2100之间的素数。3.3常用算法及应用实例累加与累乘【例3-8】求自然对数e的近似值,近似公式为:e=1+1/1!+1/2!+1/3!+.+1/n!求最大数和最小数求最大数和最小数求数据中的最大数和最小数的算法是类似的,可采用“打擂”算法。【例3-9】求区间100,200内10个随机整数中的最大数。枚举法枚举法枚举法又称为穷举法,此算法将所有可能出现的情况一一进行测试,如计算“百钱买百鸡”问题3.3常用算法及应用实例递推与迭代递推与迭代1.1.递推递推利用递推算法或迭代算法,可以将一个复杂的问题转换为一个简单过程的重复执行。这两种算法的共同特点是,通过前一项的计算结果推出后一项。不同的是,递推算法不存在变量的自我更迭,而迭代算法则在每次循环中用变量的新值取代其原值。【例3-12】输出斐波那契(Fibonacci)数列的前20项即1,1,2,3,5,8,。递推与迭代递推与迭代2.2.迭代迭代迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。【例3-14】迭代法求a的平方根。求平方根的公式为:xn+1=(xn+a/xn)/2,求出的平方根精度是前后项差绝对值小于10-5。游戏初步游戏初步猜单词游戏猜单词游戏【案例】游戏初步猜单词游戏。计算机随机产生一个单词,打乱字母顺序,供玩家去猜。欢迎参加猜单词游戏把字母组合成一个正确的单词.乱序后单词:yaes请你猜:easy真棒,你猜对了!是否继续(Y/N):y乱序后单词:diufctlfi请你猜:difficutl对不起不正确.继续猜:difficult真棒,你猜对了!是否继续(Y/N):n第第4章章 Python函数与模块函数与模块计算机学院副教授计算机学院副教授4.1函数的定义和使用在Python程序开发过程中,将完成某一特定功能并经常使用的代码编写成函数,放在函数库(模块)中供大家选用,在需要使用时直接调用,这就是程序中的函数。def函数名(函数参数):函数体return表达式或者值defprintHello():#打印hello字符串print(hello)defprintNum():#输出0-9数字foriinrange(0,10):print(i)returndefadd(a,b):#实现两个数的和returna+bdef add(a,b):return a+bprint(add(1,2)【例4-1】编写函数