Python程序设计第5章字符串第6章(2)(第9次课)_第1页
Python程序设计第5章字符串第6章(2)(第9次课)_第2页
Python程序设计第5章字符串第6章(2)(第9次课)_第3页
Python程序设计第5章字符串第6章(2)(第9次课)_第4页
Python程序设计第5章字符串第6章(2)(第9次课)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机编程导论

课程建设组编著2014.10函数知识复习:【例6-4】用return语句返回值。#Exp6_4.pydefmaximum(x,y): ifx>y:

returnx else:

returny#主程序printmaximum(2,3)第5章字符串1.字符串问题2.字符串基础知识3.字符串函数4.字符串知识的应用

第6章函数的设计和使用(2)1.可变长度参数1--*pa2.可变长度参数2--**pa3.系列作实参4.函数基础知识的应用

【问题】列表Li中有一些单词,把这些单词分别进行升序排序和降序排序。

Li=['apple','peach','wps','word','access','excel','open','seek']

分析:应用列表的排序函数sort()能完成升序排序和降序排序。#Ques5_1.pyLi=['apple','peach','wps','word','access','excel','open','seek']Li2=Li[:]printLiLi.sort()#列表元素按升序排序print'升序:'printLiprintLi2print'降序:'Li2.sort(reverse=True)#列表元素按降序排序printLi2程序运行结果:['apple','peack','wps','word','access','excel','open','seek']升序:['access','apple','excel','open','peack','seek','word','wps']['apple','peack','wps','word','access','excel','open','seek']降序:['wps','word','seek','peack','open','excel','apple','access']5.2.1字符串格式化常用格式:

%f、%d、%c、%s、%u、%x

%8.2f

例子:>>>a=3.6674>>>s='aaa'>>>'%7.3f'%a'3.667'例子:>>>i=99>>>'%7d'%i'99'例子:>>>x=1235>>>so='%o'%x>>>so'2323'>>>sh='%x'%x>>>sh'4d3'>>>se='%e'%x>>>se'1.235000e+03'5.2.2字符串的截取1.字符串中字符的位置2.字符串的截取截取有两种方法:一种是索引s[index]取出一个字符;另一种是切片s[[start]:[end]]取出一片字符例子:>>>s='abcdef'>>>s[0] #取出第1个字符'a'>>>s[-1]#取出最后1个字符'f'>>>s[1:3] #取出位置为1到位置为2的字符,不包括3'bc'>>>s[:3] #取出从头至位置为2的字符'abc'>>>s[4:] #取出从位置4开始的所有字符'ef'>>>s[:] #取出全部字符'abcdef'5.2.3字符串的方法1.子串查找find()格式:s.find(sub[,start][,end])找到返回子串在主串中的位置(非负),找不到返回-1。例子:>>>s='apple,peach,banana,peach,pear'>>>s.find('peach')6>>>s.find('peach',7)19>>>s.find('peach',7,20)-12.字符串的分离split()例子:>>>s='apple,peach,banana,pear'>>>li=s.split(',')>>>li['apple','peach','banana','pear']3.字符串联接join()例子:>>>li=['apple','peach','banana','pear']>>>sep=','>>>s=sep.join(li)>>>s'apple,peach,banana,pear'这里表示用','去联接各元素,请同学们试一下sep='_'#Exp5_2.pys=raw_input('请输入几个数字,用逗号分隔:')li=s.split(',')printlisum=0forxinli:sum=sum+float(x)print'sum=',sum输入及程序运行结果:请输入几个数字,用逗号分隔:23,2,5,12.3['23','2','5','12.3']sum=42.3可变长度参数指形参--**pa例子:deffunc_3(**pc): printpc#主程序func_3(x=1,y=2,z=3)程序运行结果:{'y':2,'x':1,'z':3}实参通过关键参数指定键值对,形参获得一个字典。6.5.4序列作实参1.系列实参t传递给系列形参a例子:#fun_table.pydeffun(a):s=0;forxina:s+=x;returns#主程序t=[1,2,3]printfun(t)程序运行结果:62.系列实参t传递给多个单变量形参a,b,c实参前加*例子:#fun_split.pydeffun1(a,b,c):returna+b+cdeffun2(a,b,c,d):returna+b+c+d#主程序tu=(1,2,3)s=fun1(*tu)printsli=[1,2,3]s=fun2(9,*li)prints程序运行结果:6156.6函数基础知识的应用1.理解例6-10~6-12--达到一定水平2.改造例6-10~6-12,使其仅在主程序中输出--提高水平【例6-10】编写函数,计算矩形的周长和面积。程序:#Exp6_10.pydefrectangle(x,y): area=x*y perimeter=2*(x+y) print

'矩形的面积为:',area print

'矩形的周长为:',perimetera=input('请输入矩形的长:')b=input('请输入矩形的宽:')rectangle(a,b)程序运行结果:请输入矩形的长:4请输入矩形的宽:2矩形的面积为:8矩形的周长为:12下面进行改造:#Exp6_10.pydefrectangle(x,y): area=x*y perimeter=2*(x+y)

returnarea,perimeter#主程序a=input('请输入矩形的长:')b=input('请输入矩形的宽:')q,r=rectangle(a,b)print

'矩形的面积为:',qprint

'矩形的周长为:',r【例6-11】编写函数,判断一个年份是否为闰年,主程序中输入一个年份,调用函数进行判断。分析:闰年的定义是年份数能被4整除但不能被100整除,或者年份数能被400整除。#Exp6_11.pydefrun(x): if(x%4==0andx%100!=0)or(x%400==0): print('Y') else: print('N')a=input('请输入一个年份:')run(a)程序运行结果:请输入一个年份:2000Y下面进行改造:#Exp6_11.pydefrun(x): if(x%4==0andx%100!=0)or(x%400==0):

f='Y' else:

f='N'returnfa=input('请输入一个年份:')x=run(a)printx程序运行结果:请输入一个年份:2000Y【例6-12】编写函数,判断一个数是否为水仙花数,主程序中输入一个数,调用函数进行判断。程序:#Exp6_12.pydefflower(x): a=x/100 b=(x-a*100)/10 c=x-a*100-b*10 ifa*a*a+b*b*b+c*c*c==x:

print

x,'为水仙花数' else:

print

x,'不是水仙花数'a=input('请输入一个整数:')flower(a)程序运行结果:请输入一个整数:153153为水仙花数下面进行改造:#Exp6_12.pydefflower(x): a=x/100 b=(x-a*100)/10 c=x-a*100-b*10 ifa*a*a+b*b*b+c*c*c==x:

print

x,'为水仙花数' else

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论