大学计算机基础 第五章 Python程序设计课件.pdf
《大学计算机基础 第五章 Python程序设计课件.pdf》由会员分享,可在线阅读,更多相关《大学计算机基础 第五章 Python程序设计课件.pdf(106页珍藏版)》请在咨信网上搜索。
大学计算机基础第五章Python程序设计广西大学计算机与电子信息学院Python语言简介Python是一种面向对象的、解释型的编程语言。是一种跨平台的语言,程序无需修改就可以 在Windows、Linux、UNIX、Mac等主流操作系统上使用。具有丰富和强大的库。被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C+很轻松地联结在一起。目前已成为人工智能领域最佳编程语言之一。具有易学、易用、应用广等特点Python的安装登陆Python官方网站www.Python.org,从Downloads菜单下找到对应操作系统的安装程序 版本进行下载安装。安装后,从Windows开始菜单找到Python选项,选择其中的IDLE即可进入Python的编程与 调试环境5.1.2 Hello World程序【例5-1】建立一个Python程序文件并调试运行。功能是显示Hell。world!”q Python 3.6.3 ShellFile Edit Shell Debug Options Window Help二一ILn:6 Col:4Python 3.6.3(v3.6.3:2c5fed8,Oct 3 2017,18:11:49)MSC v.1900 64 bit(AMD64)on Win32Type copyright,credits or license。”for more information.Hello world!lRESTART:C:/hello.py选择开始一所有程序-Python 36-IDLE命令,打开Tython 3.6.3 Shell”窗口。选择菜单中的File-New File命令新建一个程序窗口。在新建的程序窗口中输入如图所示的程序代码。选择File-Save命令,保存为c:hello.py文件。选择Run-Run Module命令(或按 F5 键)调试运行。J Entitled*Z3SFile Edit Format Run Options Window Help print(Hello world!)Ln:l Col:215.1.2 Hell。World程序【程序分析与说明】1、print。是向屏幕打印输出的命令函数,内容需用英文单引号或双引号括起来。2、Python程序文件的默认扩展名为.py。直接双击.py文件可运行程序;右击文件,选择Edit With IDLE命令可打开并编辑,或者IDLE中的File-Open命令打开。上述例子是先建立.py程序文件,然后运行文件。需要指出的是,Python提供了交 互式运行方式,可直接在IDLE的shell中解释运行,无需建立.py程序文件,如图所 示,直接在后输入print(”Hell。world!)回车即可出现结果:击 Python 3.6.3 ShellFile Edit Shell Debug Options Window Help9 II回叵Python 3.6.3(v3.6.3:2c5fed8,Oct 3 2017,18:11:49)MSC v.1900 64 bit(AMD64)on Win32Type copyright,credits or license。”for more information.print(Hello world!)Hello world!ILn:5 Col:4 5.1.3 Python的开发环境1利用Python自带的集成开发环境IDLE【例5-2】在IDLE中进行数学计算。3*6+4/220.0 x=5 7*x-x*2-x5 r=3 print。半径为r的圆周长;2*3.14*r)半径为r的圆周长18.84小知识:可以按 Alt+P 组合键重复输入上一条指令,修改错误语句后再调试 运行。Python有一定的语法规则,当违反规则时将出现错误提示。5.1.3 Python的开发环境2利用W i ndows的命令提示符cmd为了能直接在cmd中使用Python命令,建议先设置环境变量,把Python的安装目录(例如C:Python36 添加到Path系统变量中。启动cmd后,1、键入Python,此时会出现符号,就可以输入Python代码了。2、如果要执行Python程序(如C:hello.py,贝何输入Python C:hello.py3使用各种代码编辑器编写py文件常见的Python开发环境有Notepad+、PyCharm、Sublime和Spyder等。Python基础语法1Python的缩进代码块用缩进块的方式体现,不同缩进深度分隔不同的代码块。缩进推 荐风格:缩进四个空格宽度,避免使用制表符。2注释注释可以起到一个备注的作用,程序在运行时会自动忽略注释的内容。单行注释以#开头;多行注释用三个单引号或者三个双引号将 注释括起来。3空行和分行空行的作用:在于分隔两段不同功能或含义的代码,便于日后代码的维 护或重构。是继续上一行,将过长语句分开。;分号分隔,可使一行中包含多条语句。Python编码规范PEP8对于代码而言,相比于写,它更多是被用来读的。统一且设计良好的代码规 范,是一种优良的编程习惯。针对Python的开发有一套编码风格标准,叫PEP8。下面罗列其中一些常见的规则:缩进:建议4个空格的缩进,不使用Tab,更不提倡混合使用Tab和空格。代码长度:每行最大长度79,换行可以使用反斜杠。不要在一句import中导入多个库,比如import os,sys的写法不推荐。避免不必要的空格。各种逗号、冒号、分号、右括号前不要加空格;函数和序列 的左括号前不要加空格,如Func和list2;函数默认参数使用的赋值符左右省略 空格。错误的注释不如没有注释。所以当一段代码发生变化时,第一件事就是要修改注 释!尽量不要将多句语句写在同一行,尽管允许使用。if/for/while语句中,即使执行语句只有一句,也必须另起一行。Python命名规范一个正确的命名可以让你更容易地理解代码的程序,好的命名可以消除二义性,消 除误解,并且说明真实的意图。以下罗列常见的部分规范:Python是区分大小写的,尽量避免单独使用大写字母T,字母0等容易 混淆的字母。普通变量命名尽量全部用小写字母,全局变量尽量全部用大写字母,单词之间用 下划线分割。模块和包的命名尽量短小,使用全部小写的方式,可以使用下划线。类的方法第一个参数必须是self,而静态方法第一个参数必须是cis。类的命名使用CapWords的方式(每个单词首字母大写);模块内部使用的类采 用_CapWords的方式。异常命名使用CapWords+Error后缀的方式。全局变量尽量只在模块内有效,类似C语言中的static。实现方法有两种,一是 _all_机制;二是前缀一个下划线。函数命名、类的属性(方法和变量)命名尽量使用全部小写的方式,可以使用下 划线。一模块的使用Python模块有的是自带的,可以直接引用;有的模块则需要另行上网下载安装后使用。导入相应的模块语法如下:将整个模块导入,格式为:import模块名从某个模块中导入某个函数,格式为:from模块名import函数名从某个模块中导入多个函数,格式为:from模块名import函数名1,函数名2,将某个模块中的全部函数导入,格式为:from模块名import*【例5-7】使用turtle模块画出一个正方形用turtle模块画图,首先要使用pen()函数创建一个画布,然后调用其它作图 函数在此画布上来控制箭头的移动,进行各种线段的绘制。from turtle import*#导入turtle模块pen()forward(200)#向前画200像素left(90)#画笔方向左转90。,注意观察此时画笔箭头的方向变化forward(200)left(90)forward(200)left(90)forward(200)f Python Turtle Graphicsturtle模块常用函数函数功能说明使用示例pen()创建画布pen()forward(N)画笔沿当前方向前进N个像素forward(220)left(N)将画笔方向左转N度left(90)right(N)将画笔方向右转N度right(90)up()提起画笔up()down()使画笔向下down()clear()清除画布图案(画笔的位置和方向不变)clear()reset()重置画布(画笔回到默认初始状态)reset()circle(N)画一个半径为N像素的圆circle(lOO)color(R,G,B)按包含红色(Red、绿色(Green、蓝色(Blue 的量设置画笔颜色,其中R、G、B的值为0-1之间的小数 或整数color(l,0.7,0.3)begin_fill()开始填色,至!Jend_fill 处为止begin_fill()end_fill()结束填色,从being_fill 处开始end_fill()【例5-8】使用turtle模块画出两条平行线和一个有色圆from turtle import*pen()forward(200)up()#将画笔提起以便移动画笔时不画出线条left(90)forward(50)#将画笔移动距线条50像素的距离准备画第二条线left(90)down()#使画笔向下准备画线forward(200)up()forward(100)color(1z0.7z0.3)#通过设置氐G、B颜色的量来设置画笔颜色begin_fill()#从此语句以下的作图命令将按指定的颜色进行填色circle(50)#画一个半径为50像素的圆end_fill()#完成对begin_fill()以下语句的填色5.2程序中数据的表示整型(int)二进制:以Ob开头。例如:Ob11011,表示10进制的27八进制:以0。开头。例如:0。33表示10进制的27十进制:正常表示十六进制:以Ox开头。例如:0 x1b展示10进制的27各进制数间的转换函数函数功能说明bin(i)将i转换为2进制,以“0b”开头oct(i)将i转换为8进制,以“0。”开头int(i)将i转换为10进制,正常显示hex(i)将i转换为16进制,以“Ox”开头浮点型(float)浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的 小数点位置是可变的,比如:1.23x109和12.3x108是相等的。代码中,浮点数可以用数学写法,如1.23、3.14、-9.01 o也用科学计数法表示,把10用e替代,1.23乂109就是1.23。9,或者12.3e8,0.000012 可以写成1.2e-5。布尔型(bool)可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来。True=1z False=0z可以和数字型进行运算,还可以用and、or和not进行逻辑运算。一字符串型(str 字符串主要用于存储和表示文本,由纯英文的单引号、双引号、三个单引号或三个双引 号包围的一串字符组成。字符串还可以做各种运算,如表5-1所示,表中假设aHellol b=Python,字符串的运算操作符描述实例+字符串连接a+b 输出结果:HelloPython*重复输出字符串a*2 输出结果:HelloHello通过索引获取字符串中字符al输出结果e:截取字符串中的一部分al:4输出结果ellin成员运算符,如果字符串中包含给定的字符返回TrueH in a输出结果Truenot in成员运算符,如果字符串中不包含给定的字符返回TrueM not in a 输出结果Truelen(S)求字符变量S的长度(即字符个数)if len(S)!=0:r/R原始字符串,直接按照字面的意思来使用print(rn)print(Rn)转义字符的使用Python中字符串是由“或者括起来的。如果所表示的字符串中含有引号,那怎 么办呢?需要换行怎么办?此种情况可以使用转义字符。在Python中使用反斜杠()表 示转义字符【例5-6】使用转义字符输出单引号 print(他问:,能借支笔吗?我答:没问题”)SyntaxError:invalid character in identifier print(他问:、能借支笔吗?n我答:,没问题)他问:能借支笔吗?我答:没问题 表示单引号,n表示换行有时并不想让转义字符生效,只想显示字符串原来的意思,这就要用r或R来定义原始字 符串。如:print(rtr)tr转义字符的使用转义字符描述(在行尾时)续行符反斜杠符号,单引号双引号a响铃b退格(Backspace)e转义000空n换行v纵向制表符t横向制表符r回车V换页oyy八进制数yy代表的字符,例如:。12代表换行xyy十进制数yy代表的字符,例如:xOa代表换行other其它的字符以普通格式输出Python数据类型转换与数据处理常用函数符号功能使用示例inS)int(N)将字符变量S转换成整数 对数字N取整,即去掉小数s=10 n=int(s)n=10.3 int(n)=10float 将字符变量S转换成浮点数(含小数)s=10.3 n=float(s)str(N)将数字变量N转换成字符串n=25 s=str(n)eval(str)计算在字符串中的有效表达式并返回结果eval(12+23)=35tuple(s)将序列s转换为一个元组list(s)将序列s转换为一个列表set(s)转换为可变集合dict(d)创建一个字典。d必须是一个序列(key,value)元组吊里实际上,Python不像其它大部分编程语言那样有专门定义常量的规则,若在程序 中想使用一个不变的数据,只需直接在程序代码中写出这个数据即可变量规定变量名可由字母(可以是汉字)、数字或下划线组成,但是不能由数字开头,变量名中也不能包含空格。关键字,如print、if、for、while等,不能作为变量名。定义变量(赋值)的标准语句:变量名=常量或另一变量名对于字符串变量,还可以通过下面的方法引用字符串中的一个字符:变量名n【例5-10】在IDLE中练习变量的定义和使用。prompt我的计算机成绩:score=80score+=5print(score)85 print(promptzscore)我的计算机成绩:85 str=abcdef#相当于 score=score+5#输出score这个变量的值#先后输出两个变量,中间用逗号分隔#先后输出prom pt和score两个变量的值print(str3)#输出字符串变量str中序号为3的那个字符d一列表(list)创建列表的语法:定义列表时,初始化列表列表变量=列表元素。,列表元素1,列表元素2,,列表元素N 例如:list1 二电视机7电冰箱空调?洗衣机定义空列表,留待以后添加元素。列表变量二口例如:list2=列表中的每个元素在列表中的位置,称之为索引位置。序号是从0开始编号的。引用列表中的元素:列表变量N如:list11【例5-13】列表的定义与引用。list=高数英语计算机体育print(list2)计算机 list1=,心理学#可以随时通过赋值语句改变列表元素的值print(list)高数丁心理学丁计算机丁体育引用列表中的多个连续的元素:列表变量起始索引位置:终止索引位置+1 list=高数?英语/计算机?体育口print(list1:3)英语计算机1#输出列表中索引位置1开始,3之前的两个元素【例5-15】列表元素增减、列表相加 list1二高数7英语7计算机/体育1 list1.append。美术)#在列表末尾增加元素,使用列表的append方法print(list1)高数丁英语冒计算机冒体育丁美术list1.insert(2;物理)#用1。日方法在列表指定的索引位置插入元素print(list1)高数英语丁物理计算机丁体育丁美术 dellist13#用del命令删除列表中指定的元素print(list1)高数英语丁物理丁体育丁美术 list2二政治心理学 list3=list1+Iist2#两个列表相加就是把两个列表的值连起来print(list3)高数丁英语冒物理冒体育丁美术丁政治丁心理学口list4=list2*3#列表乘以一个数字,就是把该列表的值重复几次print(list4)政治丁心理学丁政治冒心理学丁政治丁心理学口 Iist4.remove(政治|)#删除指定元素,如有多个,则仅删除第一个 Iist4心理学冒政治冒心理学丁政治冒心理学元组(tuple)元组与列表类似,不同之处在于元组的元素不能修改。表达形式上,元组使用小括 号,列表使用方括号。元组的不可变性,使元组能做列表不能完成的事情,例如,元组可作为字典的键。【例】元组举例。tup1=(Google,Runoob,1997,2000)tup2=(1,2,3,4,5)tup3=(3,b,c,d)tup4=()tup5=(50,)tup3 1:3Cbz c)#创建空元组#只包含一个元素时,需要在元素后面添加逗号#元组的访问方法和列表一样一字典(diet 字典是键值对的无序集合,所谓键值对是指字典中的每个元素由键和值两部分组成,键是关键字,值是与关键字有关的数据。通过键可以找到与其有关的值,反过来不 行,不能通过值找键。在Python中,字典的定义是:在一对花括弧 之间添加0个或多个元素,元素之间 用逗号分隔;元素是键值对,键与值之间用冒号分隔;键必须是不可变对象,键在 字典中必须是唯一的,值可以是不可变对象或可变对象。创建字典,格式为:d=key1:value%key2:value2 d1=#空字典 d2=Alice:2341 丁Beth:9102;Cecil:3258 d3=abc:456z 98.6:37 d4=a:12z b:34,c:56z a:78 d4a:78,b:34,c:56一字典基本操作【例5-20】字典访问举例。diet=Name:Mary,Age:7,Class:First print Name对应的值为:t dicttName Na me对应的值为:Mary【例5-21】更新字典举例。diet=Name:Wary丁Age:7,Class:First dictAge=8;#更新AgedictrSchool 二第二小学”#添加信息del dictName dict.clearQ#删除键Name,#清空字典5.3 Python程序控制结构|程序控制结构结构化编程和面向对象编程程序控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。无论多复杂的算法,均可通过顺序、选择、循环三种基本控制结构构造出来。每种 结构仅有一个入口和出口。由这三种基本结构组成的多层嵌套程序称为结构化程序。顺序结构就是指按语句出现的先后顺序执行的程序结构,用程序语句的自然排列顺序来表达。常见语句:赋值语句和内置的输入函数input。和输出函数print。赋值语句实际上就是定义变量的标准语句:变量名=常量或另一变量名通过变量接收键盘输入数据语法为:input(输入提示字符串)运行时,向用户给出明确的输入提示,并等待用户输入,直到按下键为止。需要特别注意的是,input。函数对于用户从键盘输入的任何数据都看成是一个字 符串。当需要进行数学计算时,可通过int()等函数转换为数值。【例5-22】在IDLE中使用input。函数接收用户输入整数。n=in put(,请输入一个整数:,)请输入一个整数:5 n=int(n)#字符串通过int()函数转换为整数 n+611输出函数print。print。函数是Python 3.X版本的数据输出形式。语句格式:print(对象 1,对象2,.,sep=,zend=,nzfile=sys.stdout/flush=False)各项参数说明见表5-7所示。当参数缺省时,默认分隔符为空格,结束标志为换行,输出目标是显小器,如:print(1/2z3,Sep=,#)1#2#3print。函数还可以采取格式化输出形式:print(格式串,end 二n,file=sys.stdout,flush=False)【例5-23】占位符s,%f,%d的使用|score=85 I printC我的计算机成绩是%s分%score)print 前两季度销售额分另!为81%12%增长10.2f%(12345678,87654321 Z16.1234)前两季度销售额分别为12345678 8765321,增长 16.12此处为空格或省略s表示字符串,d表 示整数,详见表5-8表5-7 print。函数参数说明参数说明使用示例对象1,对象2,输出多个对象时需要用逗 号分隔al=aaaa2=bbbsep=指定分隔符,缺省时为空 格print(al,a2,end=)print(a2,al)print(al,end=hellon)end=输出结束时补充该参数所 指定的字符串,缺省时为 换行符print(al,a2,sep=hello,end=hello)运行结果:aaa bbbbbb aaaaaahelloaaahellobbbhello#新建一个对象newfile,对应的是new.txt文件,属性可 写newfile=open(new.txt,w)#输出参数file指向该对象,不能指向txt文本文件print(Python,end=hellon,file=newfile)newfile.close()#关闭打开的文件运行结果:在new.txt文本中成功写入字符串Python,hellofile=sys.stdout定义流输出的文件,默认 为标准的系统输出 sys.stdout,可以重定义为 别的文件flush=False是否立即把内容输出到流 文件,不作缓查,默认为 False,True袤本强制清除 缓存表5-8 print。输出格式定义符号功能%s输出字符串%u格式化无符号整型%0格式化无符号八进制数%x格式化无符号十六进制数%X格式化无符号十六进制数(大写)%e用科学计数法格式化浮点数%E作用同e,用科学计数法格式化浮点数%d输出整数%f输出浮点数%10s,%10d,%10f指定10位占位宽度%10.3f指定小数位数%-10s,%-10.3f指定左对齐5.3.2分支结构简单if语句简单if语句的语法结构简单if语句的执行流程if条件表达式:、语句块当公力达式成立(称为真,True 时,执行 语句以否则称为假,False,跳过该语句块。此处有4个半角空格的缩进猜心小游戏#是否能猜中9和5?MyNuml=9MyNum2=5n=inputC你猜我喜欢09的哪个数字?:,)n=int(n)if(n=MyNum1)or(n=MyNum2):printC你真是我的知音啊!)print(游戏结束)Python条件表达式常用运算符符号功能使用示例=、!=判断两个值是否相等if a=b:、=、二判断两个值的大小if ab:and逻辑与,一般用于连接两个条件,两条件同时成立时表达式才为“真”if a60 and a80:or逻辑或,一般用于连接两个条件,两条件的任何一个成立,表达式就 为“真”if a=5 or a=8:not逻辑非,对条件表达式的值取反if not(a=5):与if a!=5:结果相同if.else语句语法结构if条件表达式:语句块1else:语句块2当if语曷的条件表达式成立时,程序执行语 句块1,否则执行语句块2005-25改进的猜心小游戏后继语句if.else语句执行流程#是否能猜中9和5?根据用户是否猜对给出对应的提示MyNuml=9MyNum2=5n=inputC你猜我喜欢09的哪个数字?:,)n=int(n)if(n=MyNum1)or(n=MyNum2):print。你真是我的知音啊!)else:print。唉,相识遍天下,知心能几人?,)print(游我结束:ifelif语句语法结构if条件表达式1:语句块1elif条件表达式2:语句块2elif条件表达式N:语句块Nelse:语句块N+1当条件表达式1成立时,程序执行语句块 1,否则,判断条件表达式2是否成立,如果成立则执行语句块2,否则继续按此 往下判断后面的条件表达式。【例5-26 编写一个成绩分级程序输入一个整数成绩,按以下规则输出该成绩的相应等级:90分以上(含90,下同)为优秀,80 89分为良好,70 79分为中等,60 69分为及格,60分以下为不及格。score=input。请输入你的成绩:,)score=int(score)#将加仇()接收到的文本字符转为整数if score=90:print。你的成绩等级为:优秀?elif score=80:#程序能执行到这里,说明成绩小于90print。你的成绩等级为:良好elif score=70:#程序能执行到这里,说明成绩小于80print。你的成绩等级为:中等9elif score=60:#程序能执行到这里,说明成绩小于70print。你的成绩等级为:及格else:print。你的成绩等级为:不及格5.3.3循环结构循环的两种情况一种是循环次数事先是确定的另一种情况则是事先并不知道或不需要关注 循环要执行多少次。两种循环语句for循环和while循环。注意:在Python中没有do.while循环。循环语句执行流程for循环for循环主要用于事先确定循环执行次数的情况:for循环变量in range(起始值,结束值)或列表:循环语句块开始循环时,循环变量被赋予range函数指定的起始值(或列表的第一个元素),每循环一次循环变量的值自动加1(或被赋予列表的下一个元素),直到循环变量 的值遇到结束值(或列表的最后一个元素之后)为止,结束循环。【例5-27】进行for循环练习,理解for循环的语法意义。for i in range。,6):print(test%s,%i)输出结果:test 1 test 2 test 3 test 4 test 5for循环classist=高数?英语7计算机/体育口 输出结果:for x in classjist:高数print(x)英语计算机 体育【例5-28】用for循环改写通过turtle模块画正方形的程序。from turtle import*pen()for i in range。,5):#设定循环变量,使循环执行4次forward(200)left(90)while循环如果遇到事先并不确定或无须关注将要执行几次循环的时候,可使用While循环:while条件表达式:循环语句块当条件表达式成立时,就重复执行语句块,直到条件表达式不成立为止。【例5-29】while循环的使用:输出数字15之前的所有偶数。输出结果:n=00while n15:2print(n)4n=n+2681012 14出现死循环怎么.按Ctrl+C终止O _t_ i=0while i5:print(i)多重循环也称嵌套循环。Python编程语言允许在一个循环内嵌套另一个循环,且不限定内 外循环的类型。可以在for循环内放置while循环,反之亦然。【例5-30】双重while循环的使用:接收两名学生的5门课程成绩并计算总分和平 均成绩。forj in range。,3):#外部循环2次sum=0#定义总成绩sum的初始值i=1name=in put(,请输入第d位学生姓名:,%j)while i 上=RESTART:C:UsersAdministratorDesktoptest.py=请输第1位入学生姓名:小明 请输入第1门的考试成绩:87请输入第2门的考试成绩:74请输入第3门的考试成绩:90请输入第4门的考试成绩:81请输入第5门的考试成绩:69小明的平均成绩是80请输第2位入学生姓名:小红请输入第1门的考试成绩:90请输入第2门的考试成绩:Ln:22 Col:0在循环中使用else语句循环语句可以有else子句,它在循环终止时被执行,但循环在中途被 break终止时不执行。【例5-31】在while循环中使用else语句。count=0while count RESTART:C:/hello.pywhile True:请输入一个整数(输入Q退出程序):12 十进制-十六进制:12-0 xc十进制-八进制:12-0014number=in put(请输入一个整数(输入Q退出程序):,)+制-二进制:山-0blig请输入一个整数(输入Q退出程序):if number in q/Q:break#如果输入的是q或Q结束退出if not number.isdigitO:print。您的输入有误!只能输入整数(输入Q退出程序)!请重新输入)continue#如果输入的不是数字组成,结束本轮循环,重新开始number=int(number)print(十进制-十六进制:%d-%number,hex(number)print(十进制-八进制:%d-%number,oct(number)print(十进制-二进制:%d-%numberzbin(number)print(程序结束,)程序说明:isdigit()函数的功能是检测字符串是否只由数字组成。如果字符串只包 含数字则返回True否则返回False。使用语法:str.isdigit()opass语句pass是空语句,是为了保持程序结构的完整性。pass不做任何事情,一般用做占 位语句,例如:while True:pass#等待键盘中断(Ctrl+C【例5-33】遍历字符串,在遇到字母为。时执行pass语句块for letter in Runoob:if letter=o:passprint(执行 pass 块 print 当前字母letter print Good bye!程序运行结果:当前字母:R 当前字母:u 当前字母:n 执行pass块 当前字母:。执行pass块 当前字母:。当前字母:b Good bye!打印出水仙花数水仙花数是一个三位数其各位数字的立方和等于该数本身。例如:33+73+03=370算法分析:水仙花数是一个三位数,可以确定该数的取值范围是100999。把给出的某 个三位数的个位、十位、百位分别拆分,并求其立方和sum,若sum与给出的三位 数相等,则为水仙花数。算法描述:在100999之内按以下步骤循环判断数n1、将n的个位、十位、百位分别存储到a,b,c2、如果a3+b3+c3与n相等,则打印输出n提示:如何取出个位、十位、百位?方法一:将370整除以100,得出3。将370整除以10,得出37,然后求余数37%10,得出7将370求余数370%10,得出0方法二:将n转换为字符型,则可利用n0、n1x n2取出字符a,b,c,然后再转化数值型 进行求和判断内置函数内置函数是Python自带的函数,区别于自定义函数,它可直接使用,无需导入任何模块或包。例如:返回值赋给变量Xx=int(3.5)print(您好!。#直接调用内置函数int()#直接调用内置函数print。Print。函数有 返回值吗?Python 3的内置函数有数十个之多,常见的内置函数如表5-8、表5-9、表5-10所示。一函数声明和调用input。、print。等都是系统内置函数。函数必须先声明,然后才能调用它。函数声明用户也可以自己创建函数。mmdef函数名(参数表):函数体return返回值说明:参数表可由多个形式参数(简称形参)构成,用逗号分隔。有些函数可能既不需要传递参数,也没 有return。不带返回值的return或缺少return,相 当于返回Noneo函数声明后,就可以直接执行,也可以 通过另一个函数调用执行,调用格式:函数名(参数表)说明:参数表可由多个实际参数(简称实参)构成,用逗号分隔。实参要有确定的值【例5-34】利用函数计算面积def area(widthz height):return width*heightdef print_welcome(name):print(欢迎您!,name)printwelcome(朋友)w=4h=5print(“您预定的房间面积为,area(w,h)J平米”)输出结果:欢迎您!朋友您预定的房间面积为20平米提 aa.py-C:/Users/Administrator/File Edit Format Run Options from turtle import*pen()def zfx():forward(100)left(90)forward(100)left(90)forward(100)left(90)forward(100)for i in range(l,4):left(30)zfx()forward(300)for i in range(0,3):left(60)zfx。forward(30。)for i in range(0,3):left(80)zfxO/Python Turtle Graphics 0传递参数的多种方法python中函数根据是否有参数和返回值可以分为四种:无参数无返回值,无参数 有返回值,有参数无返回值,有参数有返回值。无参数无返回值有参数有返回值from turtle import*def abc():#画正方形 pen()for i in range。,5):forward(200)left(90)abc()def mylen(s):#计算字符串长度的函 数length=0for i in s:length+=1return lengthlengthl=mylenChello)Iength2=mylenCpython!)print(字符串长度为:Jength1Jength2)输出:字符串长度为:5 7传递参数的多种方法Python中函数传递参数的形式主要有以下五种:位置传递,关键字传递,默认值 传递,不定参数传递(包裹传递)和解包裹传递。位置传递关键字传递默认值传递def fun(abc):return a+b+c print(fun(1,2,3)输出:6def fun(a,b,c):return a+b+c print(fun(1,c=3zb=2)输出:6def fun(a,bzc=10):return a+b+cprint(fun(3,2)print(fun(3,2zl输出:15 6 实参个数可以少于形参的个数 这是由于形参有默认值。包裹传递和解包裹传递在定义函数时,有时候并不知道调用的时候会传递多少个参数。这时候可采用包裹 传递和解包裹传递。包裹传递的关键在于定义函数时,在相应元组前加*(或字典 前加*),例:包裹传递解包裹传递def fun(*name):print(type(name)print(name)def fun(azbzc):print(a,b,c)fun(1z4z6)fun(5,6,7,1,2,3)程序运行结果:class tuple(1,4,6)args=(1,3,4)fun(*args)diet=9:1,b:2/c:3 fun(*dict)a二1,2,3 type(a)a=,abcn type(a)不可变类型:字符串、元组、数值等是不可更改的对象。可变类型:列表st、字典diet 等则是可以修改的对象。一函数的参数传递传递不可变类型:如整数、字符串、元组。如fun(aa),传递的只是aa的值,不影响aa 变量本身。传递可变类型:如列表、字典。如fun(bb),则是将bb真正的传过去,修改后fun外 部的bb也会受影响传不可变对象传可变对象def Changelnt(a):print(a)a=10print(a)b=2Changelnt(b)print(b)#结果是 2,10,2def changeme(mylist):mylist.append(1,2,3,4)print(函数内成值:z mylist)mylist=10,20,30 changeme(mylist)print(函数外取值:,mylist)输出结果如下:函数内取值:10,20,30,2,3,4 函数外取值:10,20,30,1,2,3,45.4.3变量的作用域请思考以下程序输出什么?def func():a=100print(a)func()- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机基础 第五章 Python程序设计课件 大学计算机 基础 第五 Python 程序设计 课件
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文