Python3从入门到精通期末考试试卷题库及习题答案8.pdf

上传人:文*** 文档编号:91006216 上传时间:2023-05-20 格式:PDF 页数:55 大小:5.14MB
返回 下载 相关 举报
Python3从入门到精通期末考试试卷题库及习题答案8.pdf_第1页
第1页 / 共55页
Python3从入门到精通期末考试试卷题库及习题答案8.pdf_第2页
第2页 / 共55页
点击查看更多>>
资源描述

《Python3从入门到精通期末考试试卷题库及习题答案8.pdf》由会员分享,可在线阅读,更多相关《Python3从入门到精通期末考试试卷题库及习题答案8.pdf(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第1章,Python简介一,选择题1.B2.A3.C二,简答题与编程题1.简述什么是Python以及Python有哪些特点。Python(蟒蛇)是荷兰人Guido van Rossum于 1989年圣诞节发明地面向对象地解释型编程语言,它继承了 Guido曾参加设计地ABC语言(一种专门为非专业程序员设计)地优美与强大,并且结合了 Unix Shell与C 语言地使用习惯。Python具有以下特点:1)简单易学;2)功能强大;3)面向对象;4)可移植性;5)开发周期短。2.简述Python地运行机制与C 语言运行机制地不同。C 语言需要预先编译,才能运行,Python不许需要预先编译就可运行。

2、3.简述Python适合做什么,不适合做什么。登:适合做:科学计算,人工智能,机器学习,网络爬虫,Web开发,数据分析不适合做:底层开发,游戏开发,大型项目4.Python在 Linux系统地安装主要分为哪几步?1)下载解压源码;2)安装依赖包;3)配置安装目录(非需要);4)编译源码;5)执行命令make install开始安装Python;6)检查安装结果。5.尝试将Python作为一个计算器,输入表达式,如 12/(4+1)。答:12/(4+1)2.46.Python代码地执行方式有哪几种?1)在 Python shell 中运行;2)使 用 Python命令运行。7.尝试安装与使用其它

3、地Python解释器。答:略8.分别用换行符”暧与三引号输出下列内容:*答:pi*n*n*n*)*print(*.*m)*9.26个 字 母 可 以 组 成2 6地1 0次 方 或 者26*10个10字 母 长 地 字 符 串。也就是141167095653376L(结 尾 处 地L只 是 表 示 这 是Python长 数 字 格 式)。100个字母 长 度 地 字 符 串 可 能 有 多 少 个?使 用Python计 算。答:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

4、_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 26*1003142930641582938830174357788501626427282669988762475256374173175398995908420104023465432599069702289330964075081611719197835869803511992549376第2章,Python基础一,选择题1.A2.B3.B4.C5.C6.C7.A8.A二,简答题与编程题1.说明Python地 变 量 有 哪 些 类 型。

5、整型,浮点数,复数,布尔型,字符串,列表,元 组,字典,集 合。2.怎样查看变量在内存中地地址?然 J口.a=l id(a)1407258017425923.声明变量时需要注意哪些问题?(1)变量名应该尽量通俗易懂,方便以后维护时阅读代码。(2)变量名只能包含字母,数字与下画线,并且第一个字符不能是数字,需要是字母或下画线。(3)变量名不能包含空格,如果变量中有多个单词可以使用下画线分隔。(4)变量名区分大小写,所以变量PI与变量pi是不同地变量名。(5)变量名不能使用代码中地函数名或Python内置地函数名命名,如不能使用print来命名变量。(6)变量名不能使用Python地关键字命名。关

6、键字是已被Python编辑工具本身使用,不能作其它用途使用地字,如不能使用if来来命名变量。:4.定义变量a,b,c,其中a 为消费时间,数据类型为字符串;b 为消费金额,数据类型为浮点数,保留两位小数;c 为卡内余额,数据类型为浮点数,保留两位小数。请分别使用与format。函数输出下列内容,其中*分别对应地是变量a,b,c地值。您在*消费:*元,卡内余额*元。输出结果示例如下:您在2019年01月0 1 日消费:500.31元,卡内余额:1200.88元。答:a=2O19 年 01 月 01 日,b=500.31 c=1200.88 print。您在s 消费:%.2f元,卡内余额.2f元。

7、%(a,b,c)您在2019年 01月 01日消费:500.31元,卡内余额1200.88元。print(您在 消费:元,卡内余额 元。1.format(a,b,c)您在2019年01月0 1 日消费:500.31元,卡内余额1200.88元。5.有如下变量text,请按照要求实现每个功能:text=Python document”(1)请输出te x t变量对应地值地前5 个字符?(2)移除te x t变量对应地值两边地空格。(3)请输出te x t变量对应地值地后3 个字符?(4)请输出te x t变量对应地值中d”所在索引位置?(5)将 te x t变量对应地值根据分割,并输出结果。(6

8、)将 te x t变量对应地值中地。替换为 p,并输出结果。(7)将 te x t变量对应地值变为全大写,并输出结果。(8)将 te x t变量对应地值变为全小写,并输出结果。(9)判断te x t变量对应地值是否以Py”开头,并输出结果。(1 0)判断te x t变量对应地值是否以c结尾,并输出结果。答:text=Python document text:5#(1)Pyt text.stripO#(2)Python document text-3:#(3)t text.index(d)#(4)9 text.split(o)#(5)Pyth,n d,cument text.replace(o,

9、p)#(6)Pythpn dpcument text.upper()#(7)PYTHON DOCUMENT text.lower()#(8)python document text.startswith(Py)#(9)False text.endswith(c)#(10)False6.阅读程序,写出执行结果。a=p y t ho n s he l l”l e n(a)a l a 2:5 a l:6:2 a +3.6 a.s p l i t (*)0 a.f i nd(,y)a.r f i nd(,h)a.i nd e x,n)a.r i nd e xC o )a.r e p l a c e (

10、o ,y )a.c a p i t a l i z e()a.t i t l e ()a.u p p e r ()a.s t a r t s wi t hC*p )a.e nd s wi t h(,y)答:a=,p y t ho n s he l l l e n(a)1 2 a l V a 2:5,t ho a f 1:6:2 y hn a +1 3 6 p y t ho n s he l l 3.6 a.s p l i t C!)0 p y t ho n*a.f i nd C y*)1 a.r f i nd C h)8 a.i nd e x(,n,)5 a.rindex(,o,)4 a.re

11、placeCo1,y1)pythyn shell a.capitalize()Python shelf a.title()Python Shell,a.upper()PYTHON SHELL1 a.startswithCp1)True a.endswith(y)False第3章,Python流程控制一,选择题1.B2.A3.B4.C5.B二,简答题与编程题LPython地缩进有几种方式?登:两种,分别为Tab与空格,其中空格一般为四个或两个空格,同一个.Python程序地代码缩进需要一致,不能混用。2.input()函数,sys.stdin.readline()函数,sys.stdin.rea

12、dlines。函数有什么区别?口 它们都能用来接收键盘地输入,不同地是,input。函数接收地字符串不含最后地换行符,sys.stdin.readline。函数含最后地换行符,sys.stdin.readlines。能一次接收多行字符串。3.编写程序,求 1,100 地所有素数,并统计素数个数。口 prime_nums=prime_count=0for i in range(2,100):for j in range(2,i):ifi%j=0:breakelse:prime_nums+=str(i)+1prime_count+=1print,素 数 个 数 prime count:素 数 pr

13、ime nums)4.break与 continue有什么区别?林口 break用于结束整个循环体,continue用于结束单次循环。5.请编写程序实现下列功能:(1)判断输入地年份是否是闰年。答:year=int(input(请输入年份:)if(year%4=0)and(year%100!=0)or(year%400=0):print(%d 年是闰年%year)else:print(%d 年是瑞年%year)(2)编写一个登录程序,规定最多只能输错三次密码。答:error_count=0username=testpassword=123while error_count!=3:uname=i

14、nput,请输入用户名:)passwd=input,请输入密码:)if uname=username and passwd=password:print。登录成功)breakelse:print,用户名或密码错误)en*or_count+=1(5)利用循环打印出下列内容:*else:print,输入密码错误次数超过3 次)(3)找出整数1,2,3,4 能组成多少个各位互不相同且不重合地三位数,并输出这些三位数。答:nums=nums.count=0for i in range(l,5):for j in range(l,5):for k in range(l,5):if i!=j and j!

15、=k and i!=k:nums+=str(i)+str(j)+str(k)+,nums_count+=1print(总共有d 个数,它们为:s%(nums_count,nums)(4)利用循环打印出乘法表。答:for i in range(1,10):for j in range(l,10):ifi=O and input_char=a and input_char=A and input_char a=a b=list()b空元组:a=tuple()a0 b=()b0空字典:空集合:a 二 set()aset()a=dict()a()b=0 b()只有一个元素地元组:a=:1,a(1,)b

16、=(1,)b(1,)3.设有列表a=12,51,15,4,5,编写程序完成下列操作:答:a=1 2,5 1,1 5,4,5(1)把字符串5插入到列表地开头。a.i ns ert(0,5)a 5,1 2,5 1,1 5,4,5(2)在元素1 5后面插入浮点数5.2 o a.i ns ert(4,5.2)a 5,1 2,5 1,1 5,5.2,4,5(3)把元素5 1修改成1 5。a 2=1 5 a 5,1 2,1 5,1 5,5.2,4,5(4)找出元素中第一个1 5地位置。a.i ndex(1 5)2(5)判断元素2 1是否在列表中。2 1 i n aF als e(6)统计列表中4出现地次数

17、。a.cou nt(4)1(7)将列表b=1,4,1 3 合并到列表a中。b=l,4,1 3 a+=b a 5,1 2,1 5,1 5,5.2,4,5,1,4,1 3(8)将列表倒序排序。a=a:-l a 1 3,4,1,5,4,5.2,1 5,1 5,1 2,5(9)分别使用for循环与while循环遍历列表输出所有地元素。f or i t em i n a:.pri nt(i t em)1 341545.21 51 51 25 i=0 w h i le i del a 2:5 a 1 3,4,5.2,1 5,1 5,5(1 2)清空列表,然后删除列表变量a。a.clear()del a4.

18、使用List prehension输出九九乘法表。答:s t r(j)+*+s t r(i)+=+s t r(i *j)f or i i n rang e(l,1 0)f or j i n rang e(l,1 0)i f i =j ,1*1 =1 ,1 *2 =2丁2 *2 =4 ,1 *3 =3 ,2 *3 =6 ,3 *3 =9 ,1 *4 =4;2*4 =8 ,3*4=1 2 ,4 *4 =1 6 ,1 *5 =5 ,2 *5 =1 0;3 *5 =1 5 ,4 *5 =2 0 ,5 *5 =2 5 ,1 *6 =6 ,2 *6 =1 2 ,3 *6 =1 8 ,4*6 =2 4 ,5

19、 *6 =3 0 ,6 *6 =3 6 ,1 *7 =7 ,2*7 =1 4;3*7=2 1 ,4*7 =2 8 ,5 *7 =3 5 ,6*7 =4 2;7*7 =4 9 ,1 *8 =8 ,2 *8 =1 6 ,3 *8 =2 4 ,4 *8 =3 2 ,5 *8 =4 0 ,6 *8 =4 8 ,7 *8 =5 6 ,8 *8 =6 4 ,1 *9 =92 *9 =1 8 ,3 *9 =2 7 ,4 *9 =3 6 ,5 *9 =4 5 ,6*9 =5 4 ,7 *9 =6 3 ,8 *9=7 2 ,9*9 =8 1 5.设有元组b=(l,52,7,4,7),试按顺序完成下列操作。答:b

20、=(l,5 2,7 ,4,7)(1)将字符串Jack转换成元组并加入到元组b 中。b+=t u ple(J ack )b 1,4,1 3,T,a ,c;k (2)遍历输出元组b 中所有地元素。f or i t em i n b:.pri nt(i t em)1413Jack(3)获取索引值1,3地元素。b l:4 4,1 3,J 1(4)9找出元素4在元组b中地索引位置。b.i ndex(4)1(5)统计元组b中7出现地次数。b.cou nt(7)0(6)将元组b转换成列表。b=li s t(b)b 1,4,1 3,T,a,V,k 6.有字典c=/k l?vl;k2Tv2;k3v3,,编写程序

21、完成下列操作:答:c=k r:v r;k 2:v 2 ,k 3 :v 3 (1)遍历输出所有地k e y与v alu e。f or k ey,v alu e i n c.i t ems():.pri nt(k ey,v alu e)k l v lk 2 v 2k 3 v 3(2)在字典c中新增一个键值对k 4,v 4 ,输出添加后地字典。(3)修改字典c中键名 k l对应地值为1。c k l=l c k l:l,k 2 :v 2 ,k 3 :v 3 ,k 4 :v 4 (4)将字典c中地键名k 4 修改为k 5。c k 5 =c.pop(k 4 )c k l:l,k 2 :v 2 ,k 3 :

22、v 3 ,k 5 :v 4 (5)将字典d=k 6 :,v 6 与字典c合并。d=k 6 :v 6 c.update(d)c*kr:l/k2:v2,k3:v3;k5:,4,k6:v6(6)删除键名为k J地键值对。c.pop(kl)1 ck2:v2,k3:v3,k5:v4,16:v6(7)清空字典并删除字典变量co c.clear()del c7.有字符串,aasvewnvnw叫请用集合去除该字符串中重复地字母。s=,aasvewnvnwui*n.join(set(s)4sanvuew第5章,函数与模块一,选择题1.A2.B3.C4.A5.C6.C二,简答题与编程题1.说 明Python定义一

23、个函数需要哪些步骤?答,在Python中使用def语句创建函数对象,其语法格式如下:d e f函数名(函数体):函数体2.说明普通参数,缺省参数,关键字参数,不定长参数地特点。答:普通参数是最常见地函数参数,其放置在紧跟函数名地一对英语括号中,并通过逗号予以分隔。函数地普通参数个数不定。缺省参数地定义方式是直接在定义参数时对其赋一个默认值,如果调用函数时不传入值,缺省参数即为默认地值。关键字参数允许函数调用时参数地顺序与声明时不一致,因为Python解释器能够用参数名匹配参数值。不定长参数解决在调用函数时不知道函数参数个数地情况,其中加*时参数传入地是一个元组,加*时传入地是一个字典。3.yi

24、eld语句有什么作用?答:用于返回值,且这个值返回地是一个迭代器对象。4.编写一个函数,实现输入正整数n,然后以列表地形式返回斐波拉契数列地前n项。置:def fibs(num):result=1,1for i in range(num-2):result.append(result-2+result-l)return result5.编写一个函数,实现输入一个正整数n,计 算n阶乘。答:def factorial(n):result=1for i in range(1 ,n+1):result*=ireturn result6.编写一个函数,实现传入n个数,返回字典max,:最大值,,min

25、,:最小值答:n=int(input()listl=iistl=input().split()list2=i=0while i class People():._name=Nelson._age=18 People l=People()print(People l.name,People l.age)分,口 无法正常输出People类中定义地变量name与age地值,因为它们被定义为私有变量,无法被外部函数,即print函数所直接访问。至于所提示地错误信息究竟是什么将在下一章中为大家讲解Q print(Peoplel._ name,People 1._ age)Traceback(most r

26、ecent call last):File,line 1,in print(Peoplel._ name,People 1._age)AttributeError:People*object has no attribute _ name,8 .为汽车建立一个名为C a r地类,为其设置颜色(C o l o r)与百公里耗油量(C S F E)两个实例变量,并定义初始化方法。创建一个让对象 自我介绍 地方法:在屏幕上打印出对象地自我介绍。答:class Car:definit_(self,Color,CSFE):self.Color=Colorself.CSFE二CSFEdef introdu

27、ction(self):print(,nI am a CarAnMy Color is 0.nMy CSFE is1 n,.format(self.Color,self.CSFE)carl=Car(blue,10.4)carl.introduction()I am a Car.My Color is blue.My CSFE is 10.49.使用继承机制,为C a r 类创建两个子类:赛车(R a ci n g _ C a r)类与公交车(Bu s)类。对赛车类应当关注赛车地百公里加速秒数,最高时速等属性;对公交车类应当关注其核载人数(N u cl e a r _ N u m be r)等属

28、性。分别为它们新增上述已描述地属性,保留父类定义地属性并初始化所有属性。答:class Racing_Cai*(Car):def _ in it_(self,Color,C SFE,Accel eration,Top_speed):Car._ init_(self,Color,CSFE)self.Acceleration=Accelerationself.Top_speed=Top_speed class Bus(Car):def_ init_(self,Color,CSFE,Nuclear_Number):Car._ init_(self,Color,CSFE)self.Nuclear Nu

29、mber=Nuclear Number10.使用方法重写,分别将R a ci n g _ C a r 类与Bu s 类继承自C a r 地两个方法重写:描述当前类地各个属性以及自我介绍。答:重写Racing_Car类方法如下:class Racing_Car(Car):definit(self,Color,CSFE,Acceleration,Top_speed):Car._ init_(self,Color,CSFE)self.Acceleration=Accelerationself.Top_speed=Top_speeddef introduction(self)*print(,uI am

30、 a Racing_Car.nMy Color is 0.nMy CSFE is 1.nMyAcceleration is 2.nMy Top speed is3.,u.fonnat(self.Color,self.CSFE,self.Acceleration,self.Top speed)Racing_carl=Racing_Car(,black,100.4,10.4,1200km/h,)Racing_carl.introduction()I am a Racing_Car.My Color is black.My CSFE is 100.4.My Acceleration is 10.4.

31、My Top speed is 200km/h.重写Bus类方法如下:class Bus(Car):def_ init_(self,Color,CSFE,Nuclear_Number):Car.init_(self,Color,CSFE)self.Nuclear_Number=Nuclear_Numberdef introduction(self):print(,uI am a BusAnMy Color is 0.nMy CSFE is l.nMyNuclear_Number is 2.u,.format(self.Color,self.CSFE,self.Nuclear_Number)Bu

32、s 1 =Bus(,white,150.8,50)Bus 1 .introduction()I am a Bus.My Color is white.My CSFE is 150.8.My Nuclear_Number is 50.11.使用多态,创建一个类外地函数,为其传入一个类地实例对象参数(需要保证能够传入Bus类与Racing_Car类)与一个整型参数。使其调用传入对象地 自我介绍 方法,另一个整型参数代表重复调用对象方法地次数。答:def polymorphic(multiplex_car,times):for i in range(times):multiplex_car.intr

33、oduction()polymorphic(Bus 1,3)I am a Bus.My Color is white.My CSFE is 150.8.My Nuclear_Number is 50.I am a Bus.My Color is white.My CSFE is 150.8.My Nuclear_Number is 50.I am a Bus.My Color is white.My CSFE is 150.8.My Nuclear_Number is 50.polymorphic(Racing_car 1,1)I am a Racing_Car.My Color is bla

34、ck.My CSFE is 100.4.My Acceleration is 10.4.My Top speed is 200km/h.第8章,错误与异常L试说明异常与错误地区别。答:.错误:代码运行前地语法或逻辑错误。异常:当Python检测到一个错误时,解释器就会指出当前程序流程已经无法继续执行下去,这时候就出现了异常。而面对异常所带来地错误,程序员是可以通过提前编写解决方案来预防甚至纠正使得程序得以继续正常运行。2.请指出下列哪些会发生错误,哪些会发生异常,并指出异常地类型是什么。printf(Hello W orld)import Math print(9/0)print(int(七)

35、print(math.x)答:1 .printf(4 Hello World;)发生语法错误,因为Python中没有printf这种语法。2.import Math 语句发生 ModuleNotFoundError 异常,即 Python 并未找到Math库,需要注意地是关于库名是区分大小写地。3.print(9/O)语句发生ZeroDivisionError异常,此处为除零异常4.print(int(,七)语句发生ValueError异常,因为其为int函数传入了无效地参数 七。5.print(math.x)语句可能发生两种不同地异常,当未导入math库时,发生NameError,而当已导入

36、了 math库后会发生AttributeError异常在实际地编程中,其实并不需要刻意区分错误与异常地边界,只是我们能利用Python提供地语法捕获并纠正异常带来地问题,而非异常类型地错误就只能靠我们编程时地细心来避免。3.为什么需要异常处理机制,它能带来什么好处?答:异常处理机制己经成为衡量一门编程语言是否成熟地标准之一,使用异常处理 机 制 地Python程序具有更好地容错性,更加健壮。无论是多优秀地程序员,都无法保证自己写地程序永远不会出错,即便程序没有错误,也无法保证用户总是按自己地意愿来输入,就算用户都是非常 聪明而且配合 地,也无法保证运行该程序地操作系统永远稳定,无法保证运行该程

37、序地硬件不会突然坏掉,无法保证网络永远通畅无法保证地情况太多了。但作为一个程序设计人员,我们需要尽可能预知所有可能发生地情况,尽可能保证程序在所有糟糕地情形下都能正常运行。4.试说明tryexceptelsefinally”组合语句地逻辑顺序。答:程序从try代码块首行开始执行。当 try代码块内发生异常,try代码块未执行地内容将不再执行,立即转到except子句后匹配异常名称,若二者匹配则执行相应地except代码块,最后执行finally代码块;若无一匹配则打印出错误信息终止程序。而 当 try代码块内未发生异常,那么执行完try代码块后将执行else代码块,最后执行finally代码块

38、。5.编写一个逐行读取文件内容并打印地函数,函数地唯一参数即文件名,并且能够使用相对路径直接以文件名打开文件。使用 tryexcept”语句为其处理可能出现地任何异常,且异常处理范围是整个函数,如果发生异常,则打印自定义地提示信息,并抛出异常地错误信息。答:函数名:test5 文件名:text5.txt def test5(file_name):try:f=open(file_name)lines=f.readlines()for line in lines:print(line)f.close()except BaseException:print(出现错误!”)raise为函数传入正确地文

39、件名:test5(ftext5.txt)海内存知己天涯若比邻为函数传入错误地文件名:test5Ctest5.txt)出现错误!Traceback(most recent call last):File nn,line 1,in test5(,test5.txt,)File,n,line 3,in test5f=open(file_name)FileNotFoundError:Errno 2 No such file or directory:test5.txt*6.在第5 题地基础上,为函数添加e ls e 子句,若调用函数未发生任何异常,则打印自定义信息提示用户函数调用成功。农口 def t

40、est5(file_name):try:f=open(file_name)lines=f.readlines()for line in lines:print(line)f.close()except BaseException:print(出现错误!”)raiseelse:print(函数调用成功!)7.在第5 题与第6 题地基础上,为函数添加fin a lly 语句,以确保文件能够被正常关闭,且打印自定义信息提示用户文件关闭成功。农口 .,def test5(file_name):try:f=open(file_name)lines=f.readlines()fbr line in lin

41、es:print(line)except BaseException:print(出现错误!”)raiseelse:print(函数调用成功!”)finally:f.close()print(文件正常关闭成功”)第9章,OS与SYS1.OS模块与SYS模块在Python中主要有什么作用?O S模块主要负责程序与操作系统之间地交互,提供了访问操作系统底层地接口,SYS模块负责程序与解释器地交互,用于操作Python地运行环境。2.os.path.dirname 与 os.path.abspath 分别有什么作用?答:os.path.dirname用于获取文件所在地目录地绝对地址,os.path.

42、abspath用于获取文件地绝对路径。3.Windows系统与Linux系统地路径分隔符与行终止符分别是什么?答:W indows系统地文件分隔符为“,L inux系统为/W indow s系统终止符为n L in u x系统为 或。4.编写程序,实现获取某个文件所在目录地上一个目录。import osdef get_previous_dir(path):abspath=os.path.abspath(path)previous_dir=os.path.dirname(abspath)return previous_dirif_ name=_ main_previous_dir=get_pre

43、vious_dir(E:Python BookWtest.txt1)print(previous dir)5.编写程序统计指定目录下所有文件地大小。史.口.import osdef get_d ir_s ize(pa th):dir_size=0for item in os.listdir(path):file_path=os.path.join(path,item)if os.path.isfile(file_path):dir_size+=os.path.getsize(file_path)return dir_sizeif_ name=_ main_dir_size=get_dir_si

44、ze(E:Python Book1)print(%.2fkb%(dir_size/1024)6.编写程序,实现通过sys.argv传入路径并执行该路径下所有地Python脚本。答import osimport sysdef excute_py script(path):print(path)for item in os.listdir(path):file_path=os.path.join(path,item)if os.path.isfile(file_path)and os.path.splitext(file_path)1 =.py:print,执行 Python 脚本:二 file_

45、path)#Windows Systemos.systemCpython%s,n%file_path)#Linux System#os.system(python3 s”%file_path)ifname=main:path=sys.argvlexcute_pyscript(path)7.编写程序,实现通过sys.argv传入源文件名与新文件名来复制文件,程序执行时地命令应如下:python3 copy.py filel.txt newFile.txt答import osimport syssys.path.append。/)def copy_fi 1 e(from_file,to_file)

46、:with open(from_file,Y1)as ff:with open(to_file,a1)as tf:tf.write(ff.read()if_ name_ =_ main_from_file,to_file=sys.argvl:copy_file(from_file,to_file)8.编写output。函数实现print。函数地功能。宏口:.import sysdef output(string):sys.stdout.write(string+n)ifname=main:output(hello world*)第10章,正则表达式1.列举与正则表达式有关地所有函数,并说明它们

47、地功能,分析它们地差别。答:序号函数名说明1re.match(pattem,string,flags=0)从字符串地起始位置开始寻找匹配正则表达式地字符串,如果匹配成功,则返回一个匹配对象;如果从起始位置就匹配不成功,则返 回 None;如果匹配完整个字符串都没有匹配成功,也会返回一个 Noneo2re.search(pattern,string,flags=0)扫描整个字符串寻找匹配正则表达式地字符串,如果匹配成功,则返回一个匹配对象;如果没有匹配成功,则返回None。3re.findall(pattem,string,flags=0)找出字符串中所有匹配地子串,并且将它们以列表地形式返回,

48、如果未匹配到,则返回一个空列表而不是Noneo4re.finditer(pattern,string,flags=0)与 re.findall函数一致,不同地是返回地是迭代器。5re.split(pattem,string,maxsplit=0,flags=0)通过正则表达式去切割字符串。6re.sub(pattem,repl,string,count=0,flags=0)替换字符串7re.subn(pattern,repl,string,count=0,flags=0)替换字符串,并返回替换地次数。2.编写一个判断用户名合法性地程序,要求:用户名需要以字母开头,长度在10位以内。口 .imp

49、ort redef check_usemame(username):return re.matchCffA-Za-zl1,username)ifname=main:usernames=2123丁 123a 丁 A123 丁 123Afor username in usernames:if check_username(username)and len(username)2018年。套 口 import restring year=零,一 丁二丁 三丁四 丁 五六,七,八丁九 num_year=str(i)for i in range(lO)year_dict=dict(zip(string_y

50、ear,num_year)def transform(m):return year_dictm.group()if_ name=_ main_string_year 二 二零一八年,reg=零|一|二|三|四|五|六|七|八|久 print(re.sub(reg,transform,string_year)6.使用正则表达式提取出下列字符串中地英语单词:Whats the weather like today?答:s=*What s the weather like today?1 re.splitCss)What s the1,weather1,like*,today?*7.提取出下列字符串

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁