版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计(Python)第1页共28页《程序设计(Python)》课程综合复习资料一、判断题1.使用内置函数open()且以”w”模式打开的文件,文件指针默认指向文件尾。答案:错误2.Python标准库os中的方法isdir()可以用来测试给定的路径是否为文件夹。答案:正确3.定义函数时,带有默认值的参数必须出现在参数列表的最右端,任何一个带有默认值的参数右边不允许出现没有默认值的参数。答案:正确4.在编写函数时,建议首先对形参进行类型检查和数值范围检查之后再编写功能代码,或者使用异常处理结构,尽量避免代码抛出异常而导致程序崩溃。答案:正确5.定义Python函数时必须指定函数返回值类型。答案:错误6.已知x为非空字符串,那么表达式''.join(x.split())==x的值一定为True。答案:错误7.Python代码的注释只有一种方式,那就是使用#符号。答案:错误8.在循环中continue语句的作用是跳出当前循环。答案:错误9.集合可以作为字典的值。答案:正确10.9999**9999这样的命令在Python中无法运行。答案:错误11.一个函数如果带有默认值参数,那么必须所有参数都设置默认值。答案:错误12.使用print()函数无法将信息写入文件。答案:错误13.Python是一种跨平台、开源、免费的高级动态编程语言。答案:正确14.尽管可以使用import语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库。答案:正确15.假设已导入random标准库,那么表达式max([random.randint(1,10)foriinrange(10)])的值一定是10。答案:错误16.二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容。答案:正确17.对文件进行读写操作之后必须显式关闭文件以确保所有内容都得到保存。答案:正确18.生成器推导式比列表推导式具有更高的效率,推荐使用。答案:正确19.函数中必须包含return语句。答案:错误20.函数中的return语句一定能够得到执行。答案:错误21.定义函数时,即使该函数不需要接收任何参数,也必须保留一对空的圆括号来表示这是一个函数。答案:正确22.集合可以作为列表的元素。答案:正确23.Python字典支持双向索引。答案:错误24.不同版本的Python不能安装到同一台计算机上。答案:错误25.已知x为非空字符串,那么表达式','.join(x.split(','))==x的值一定为True。答案:正确26.调用函数时传递的实参个数必须与函数形参个数相等才行。答案:错误27.在编写多层循环时,为了提高运行效率,应尽量减少内循环中不必要的计算。答案:正确28.在函数中没有任何办法可以通过形参来影响实参的值。答案:错误29.以写模式打开的文件无法进读操作。答案:正确30.在异常处理结构中,不论是否发生异常,finally子句中的代码总是会执行的。答案:正确二、单选题1.下面代码的输出结果是()。x=2x*=3+3**2print(x)A.24B.12C.9D.18答案:A2.下面代码的输出结果是()。str1="HelloPython!"print(str1[3:-3])A.lloPythoB.loPythC.loPythoD.IndexError:tupleindexoutofrange答案:B3.下面代码的输出结果是()。num=5ifnum==3:#判断num的值print"boss"elifnum==2:print"user"elifnum==1:print"worker"elifnum<0:#值小于零时输出print"error"else:print"roadman"#条件均不成立时输出A.bossB.userC.workerD.roadman答案:D4.下面代码的输出结果是()。L=["Lisa","Jolin","cici"]s="_".join(L)print(s)A.Lisa,Jolin,ciciB.LisaJolinciciC.Lisa_Jolin_ciciD._Lisa_Jolin_cici答案:C5.分析程序执行结果。dict={"Name":"Zara","Age":7,"Class":"First"}print("dict["Alice"]:",dict["Alice"])A.nullB.0C.“”D.程序报错答案:D6.给出下面代码:astr=input("请输入一组数,用逗号隔开:").split(",")i=0whilei<len(astr):print(astr[i],end="")i+=1代码执行时,从键盘获得1,2,3,4,则代码的输出结果是()。A.1,2,3,4B.1234C.TypeErrorD.无输出答案:B7.执行下面操作后,list2的值是()。1.list1=['a','b','c']2.list2=list13.list1.append('de')A.['a','b','c']B.['a','b','c','de']C.['d','e','a','b','c']D.['a','b','c','d','e']答案:B8.执行以下两条语句后,lst的结果是()。1.lst=[3,2,1]2.lst.append(lst))A.[3,2,1,[3,2,1]]B.[3,2,1,[…]],其中“…”表示无穷递归。C.抛出异常D.[3,2,1,lst]答案:B9.下列for语句中,在in后使用不正确的是()。forvarin:print(var)A.set('str')B.(1)C.[1,2,3,4,5]D.range(0,10,5)答案:B10.下面程序的运行结果为()。defswap(list):temp=list[0]list[0]=list[1]list[1]=templist=[1,2]swap(list)print(list)A.[2,1]B.[2,2]C.[1,1]D.[1,2]答案:A11.若k为整形,下述while循环执行的次数为()。k=1000whilek>1:print(k)k=k/2A.9B.10C.11D.1000答案:B12.给出下面代码:over=25start=2ifover%2!=0:start=1forxinrange(start,over,2):print(x)上述程序输出值的个数是()。A.10B.12C.14D.16答案:B13.以下程序的输出结果是()。L=["泰山","华山","衡山","恒山","嵩山","香山"]L.remove("香山")s=""print("五岳包含",end="")foriinL:s=s+i+","print(s[:-1],end="。")A.五岳包含泰山,华山,衡山,恒山,嵩山,香山。B.五岳包含泰山,华山,衡山,恒山,嵩山。C.五岳包含泰山,华山,衡山,恒山,嵩山,。D.五岳包含泰山,华山,衡山,恒山,嵩山,香山,。答案:B14.下面代码的输出结果是()。>>>f=lambdax,y:y**x>>>f(2,3)A.6B.8C.2,3D.9答案:D15.给出下面代码:i=1whilei<9:j=0whilej<i:print("*",end="")j+=1print("\n")i+=1以下选项中描述错误的是()。A.外层循环i控制打印行数B.输出9行C.第i行有i个*D.内层循环j用于控制每行打印的*的个数答案:B16.代码如下:a=input("请输入一个正整数:")b=a**2print(b)从键盘输入5后,代码的输出结果是()。A.5B.10C.25D.TypeError:unsupportedoperandtype(s)for**orpow():"str"and"int"答案:D17.下面代码的输出结果是()。s1="Appleismyfavoritefruit."s2=s1.replace("Apple","Grape")print(s2)A.Appleismyfavoritefruit.B.Grapeismyfavoritefruit.C.["Apple","is","my","favorite","fruit."]D.系统报错答案:B18.给出如下代码:x=10eval("x+10")A.系统报错B.20C.10+10D.TypeError:mustbestr,notint答案:B19.下面代码的输出结果是()。sum=0foriinrange(1,11):ifi%2==0:sum+=ielse:sum-=iprint(sum)A.5B.-5C.6D.-6答案:A20.代码如下:n=eval(input("请输入一个0-10之间的整数:"))result=1whileresult:ifi==n:print("%d是我们输入的数字"%i)result-=1else:i+=1从键盘输入数字8后,执行结果是()。A.8B.8是我们输入的数字C.TypeErrorD.NameError:name"i"isnotdefined答案:D21.下面代码的输出结果是()。foriinrange(1,7):ifi%3==0:breakelse:print(i,end=",")A.1,2,B.1,2,3,C.1,2,3,4,5,6,D.1,2,3,4,5,6,7,答案:A22.下面代码的输出结果是()。foriinrange(1,7):ifi//3==0:breakelse:print(i,end=",")A.1,2,B.1,2,3,C.1,2,3,4,D.没有输出答案:D23.下面代码的输出结果是()。foriinrange(1,7):ifi%3==0:continueelse:print(i,end=",")A.1,2,B.1,2,3,C.1,2,3,4,5,6D.1,2,4,5,答案:D24.下面代码的输出结果是()。a="Happy"*2b="HappyNewYear"print(a+b)A.HappyNewYearB.HappyHappyHappyNewYearC.HappyHappyNewYearD.出错答案:B25.下面代码的输出结果是()。s=["white","gold","pink","brown","black","yellow"]print(s[1:4:2])A.["white","gold","pink","brown"]B.["gold","pink","brown","black"]C.["gold","pink","brown"]D.["gold","brown"]答案:D26.下面代码的运行结果是()。deffunc(num):num**=2a=10func(a)print(a)A.10B.20C.100D.出错答案:A27.代码如下:n=2defmultiply(x,y=10):globalnreturnx*y*nn*=3s=multiply(25,2)print(s)以下选项正确的是()。A.执行结果为500B.执行结果为100C.函数multiply退出后,变量n被释放D.函数multiply退出后,变量n=6答案:B28.下面代码的输出结果是()。alist=["Happy","Birthday"]blist=["to","you"]alist.extend(blist)print(alist)A."Happy","Birthday","to","you"B.Happy,Birthday,to,youC.HappyBirthdaytoyouD.["Happy","Birthday","to","you"]答案:D29.若a='abcd',若想将a变为'ebcd',则下列语句正确的是()。A.a[0]='e'B.a.replace('a','e')C.a[1]='e'D.a='e'+a[1:]答案:D30.一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息,下面描述文件访问模式的属性是()。A.file.closedB.file.modeC.D.file.softspace答案:B31.下面关于open方法说法不正确的是()。A.open方法用于打开一个文件B.open方法返回文件对象C.如果该文件无法被打开,则抛出OSErrorD.文件在任何状态下都可以调用open方法答案:D32.关于Python内存管理,下列说法错误的是()。A.变量不必事先声明B.变量无须先创建和赋值而直接使用C.变量无须指定类型D.可以使用del释放资源答案:B33.幂运算运算符为()。A.*B.**C.%D.//答案:B34.关于列表数据结构,下面描述正确的是()。A.可以不按顺序查找元素B.必须按顺序插入元素C.不支持in运算符D.所有元素类型必须相同答案:A35.Python中布尔变量的值为()。A.真,假B.0,1C.T,FD.True,False答案:D36.在print函数的输出字符串中可以将()作为参数,代表后面指定要输出的字符串。A.%dB.%cC.%tD.%s答案:D37.以下关于Python自带数据结构的运算结果中错误的是()。A.l=[1,2,3,4];l.rerverse();则l[1]为3。B.l=[1,2,3,4];l.pop(1);则l结果为[1,3,4]。C.l=[1,2,3,4];l.pop();则l.index(3)结果为2。D.l=[1,2,3,4];l.insert(2,-1);则l为[1,2,-1,4]。答案:D38.获得字符串s长度的方法是什么?A.s.len()B.s.lengthC.len(s)D.length(s)答案:C39.关于列表下面说法不正确的是()。A.序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字-它的位置,或索引。B.第一个索引是1,第二个索引是2,依此类推。C.Python有6个序列的内置类型,但最常见的是列表和元组。D.序列都可以进行的操作包括索引,切片,加,乘,检查成员。答案:B40.大于小于号和逻辑与或的优先级顺序是()。A.大于小于优先级小于与或B.大于小于优先级高于与或C.大于小于和与或的优先级相同D.与或先执行,大于小于后执行答案:B41.关于函数参数传递中,形参与实参的描述错误的是()。A.python实行按值传递参数。值传递指调用函数时将常量或变量的值(实参)传递给函数的参数(形参)B.实参与形参存储在各自的内存空间中,是两个不相关的独立变量C.在参数内部改变形参的值,实参的值一般是不会改变的。D.实参与形参的名字必须相同答案:D42.字符串是一个字符序列,例如,字符串s,从右侧向左第3个字符用()索引。A.s[3]B.s[-3]C.s[0:-3]D.s[:-3]答案:B43.()函数是指直接或间接调用函数本身的函数。A.匿名B.闭包C.lambdaD.递归答案:D三、多选题1.下面哪些是Python合法的标识符?A.int32B.40XLC.selfD.__name__答案:ACD2.关于字符串下列说法正确的是()。A.字符应该视为长度为1的字符串B.字符串以\0标志字符串的结束C.既可以用单引号,也可以用双引号创建字符串D.在三引号字符串中可以包含换行回车等特殊字符答案:ACD3.下列运算符的使用正确的是()。A.1+"a"B.[1,2,3]+[4,5,6]C.3*"abc"D.-10%-3答案:BCD4.以下关于Python数值运算描述正确的是()。A.Python支持+=、%=这样的增量赋值操作符B.在Python2.x中,默认情况下10/3==3的判别结果是False,而Python3.x中则不同C.Python内置支持复数运算,可以使用j或者J来表示D.%运算符表示运算对象取余答案:ACD5.以下关于Python的说法中错误的是()。A.Python中函数的返回值如果多于1个,则系统默认将它们处理成一个字典B.递归调用语句不允许出现在循环结构中C.在Python中,一个算法的递归实现往往可以用循环实现等价表示,但是大多数情况下递归表达的效率要更高一些D.可以在函数参数名前面加上星号*,这样用户所有传来的参数都被收集起来然后使用,星号在这里的作用是收集其余的位置参数,这样就实现了变长参数答案:ABC6.下面是python中的循环语句的是()。A.while循环B.for循环C.dowhile循环D.loop循环答案:A7.下面关于文件对象属性叙述正确的是()。A.file.closed返回true如果文件已被关闭,否则返回falseB.file.mode返回被打开文件的访问模式C.返回文件的名称D.file.softspace如果用print输出后,必须跟一个空格符,则返回false。否则返回true答案:ABCD8.下面哪些数据类型可以做为函数的不定长参数?A.元组B.字典C.列表D.浮点数答案:AB四、编程题1.你好,石大!题目描述:输出如下3行信息:HelloUPCHelloUPC输入:无输出:HelloUPCHelloUPC样例输入:样例输出:HelloUPCHelloUPC答案:#coding=utf-8print("HelloUPC")print("Hello")print("UPC")2.分段函数题目描述:有一分段函数,y=f(x)。当x小于6时,y=x-12;当x大于等于6且小于15时,y=3x-1;当x大于等于15时,y=5x+9。从键盘上输入一个整数x,输出对应的y值。输入:一个整数。输出:函数值。样例输入:1样例输出:-11答案:#coding=utf-8x=eval(input())ifx<=x=15:y=5*x+9print(y)3.小明买童鞋题目描述:妈妈带着小明去购物,小明可开心啦。他知道自己的鞋码是33号,可是当他看到很多漂亮的鞋子,他做了一个贪心的决定:33、34号的鞋都买了!毕竟自己还会再长高嘛!现在营业员告诉他,这里有n双鞋,并且依次报出了每双鞋的鞋码。小明很想知道,自己能买下多少双鞋呢!请你编程解决这个问题。输入:第一行1个整数n,表示有多少双鞋。第二行n个整数,依次表示每双鞋的鞋码。输出:输出一个整数,表示小明能买下多少双鞋。样例输入:733403335373634样例输出:3答案:#coding=utf-8a=eval(input())b=input()c=b.split('')c=list(map(eval,c))d=0foriinc:ifi==34ori==33:d=d+1print(d)4.歌手得分题目描述:校园歌手大奖赛中,评委会给参赛选手打分(0~100分)。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。输入:有两行。第1行是一个整数n(2<n<100),表示评委的人数。第2行是n个整数,分别表示n个评委的打分。输出:仅一行。选手的得分,结果保留两位小数。样例输入:4100999897样例输出:98.50答案:#coding=utf-8n=int(input())ls=list(map(int,input().split()))s=sum(ls)-max(ls)-min(ls)print("%.2f"%(s/(n-2)))5.字符变换题目描述:设计一个程序,将一个字符串(长度小于80)中的大写英文字母转换成对应的小写英文字母,而将小写英文字母转换成对应的大写英文字母,其余字符保持不变。输入:一个字符串。输出:转换后的字符串。样例输入:upc1953bEIJING样例输出:UPC1953Beijing答案:#coding=utf-8n=str(input())b=n.swapcase()print(b)6.多项式计算题目描述:编程计算多项式y=2x2+x+8的值,y值保留小数点后面1位小数。输入:x的值。输出:多项式y的值,结果保留1位小数。样例输入:1样例输出:11.0答案:#coding=utf-8x=float(input())y=2*x*x+x+8print('%.1f'%y)7.零钱问题题目描述:假定有5角、1角、5分、2分和1分共5种硬币,在给顾客找硬币时,一般都会尽可能地选用硬币个数最小的方法。例如,当要给某顾客找7角2分钱时,会给他一个5角,2个1角和1个2分的硬币。输入:要找给顾客的零钱(以分为单位)。输出:应该找回的各种硬币数目,并保证找回的硬币数最少。样例输入:72样例输出:12010答案:#coding=utf-8x=int(input())a=x//50b=x%50//10c=x%50%10//5d=x%50%10%5//2e=x%50%10%5%2print(a,b,c,d,e)8.数的合并题目描述:编写一个能将两个数合并成一个数的函数MergeData,具体合并的方式是:将两个两位数的正整数num1、num2合并形成一个整数放在newnum中,并将num1的十位和个位依次存放在newnum数的十位和千位上,num2的十位和个位依次存放在newnum数的个位和百位上。输入:两个整数num1、num2。输出:合并后的新数据newnum。样例输入:45,12样例输出:newnum=5241答案:#coding=utf-8defMergeData(num1,num2):a=num1%100//10b=num1%10c=num2%100//10d=num2%10newnum=a*10+b*1000+c*1+d*100returnnewnumnum1,num2=eval(input())newnum=MergeData(num1,num2)print("newnum={}".format(newnum))9.求数列的第N项题目描述:已知整数数列第一项和第二项是1,该数列从第三项开始,如果该项是奇数项,则它是前两项之和,如果该项是偶数项,则它是前两项之差,即:f(n)=1当n=1或2时,f(n)=f(n-1)-f(n-2)当n是偶数时,f(n)=f(n-1)+f(n-2)当n是奇数时,编写一个递归函数,求数列的第n项。输入:一个正整数n。输出:数列的第n项值。样例输入:1样例输出:1答案:#coding=utf-8defFun(n):ifn==1orn==2:return1elifn%2!=0:return(Fun(n-1)+Fun(n-2))else:return(Fun(n-1)-Fun(n-2))n=int(input())print("{}".format(Fun(n)))10.统计学生成绩题目描述:从键盘输入一些学生的姓名、成绩,遇到-1时结束录入。分隔符为英文半角的等号(=)。然后找出最高分、最低分的相差的分数及这2个学生在数据集合中位置的距离。样例输入:张三=87李四=98王五=76赵六=65-1样例输出:332答案:#coding=utf-8a=[]b=[]whileTrue:sr=input()ifsr=='-1':breakelse:x,y=sr.split('=')a.append(x)b.append(eval(y))sc1=0sc2=0iflen(b)!=0:ma=max(b)mi=min(b)sc1=ma-misc2=abs(b.index(ma)-b.index(mi))print(sc1)print(sc2)11.报数游戏题目描述:编写函数模拟报数游戏。有n个人围成一圈,顺序编号,从第一个人开始从1到k(假设k=3)报数,报到k的人退出圈子,然后圈子缩小,从下一个人继续游戏,问最后留下的是原来的第几号。输入:两个正整数n,k。输出:留下几号。样例输入:143样例输出:2答案:#coding=utf-8fromitertoolsimportcycledefdemo(lst,k):#切片,以免影响原来的数据t_lst=lst[:]#游戏一直进行到只剩下最后一个人whilelen(t_lst)>1:#创建cycle对象c=cycle(t_lst)#从1到k报数foriinrange(k):t=next(c)#一个人出局,圈子缩小index=t_lst.index(t)t_lst=t_lst[index+1:]+t_lst[:index]#游戏结束returnt_lst[0]n=int(input())k=int(input())lst=list(range(1,n+1))print(demo(lst,k))12.路径组装题目描述:编写程序,完成以下要求:完成一个路径的组装,先提示用户多次输入路径,最后显示一个完成的路径,比如/home/python/ftp/share。输入:3pythontestlist输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 热转移防护膜涂布工创新意识强化考核试卷含答案
- 信息安全管理员技术水平模拟考核试卷含答案
- 中小电机笼型绕组制造工操作管理测试考核试卷含答案
- 重冶净化工发展趋势水平考核试卷含答案
- 2026年国家职业卫生试题重点题(新版)
- 材料力学试题及答案
- 伊索寓言试题及答案
- 2026年湖北省人教版初中英语第9章同步练习题
- 2025-2026学年陕西省西安一中高三(上)期中地理试卷
- 办公室自查报告(3篇)
- DB44T 1444-2014 聚氯乙烯(PVC)软管
- 江西省2018-2024年中考满分作文121篇
- 科瑞技术:资产评估报告
- 2025年全国统一高考英语试卷(全国一卷)含答案
- 船舶管系基础知识
- 沈阳辅警考试试题及答案
- 晕针晕血的应急预案及处理流程
- VDA6.3-2023过程审核检查表
- 实验动物与动物实验
- 眼的胚胎发育课件
- 围棋启蒙教程
评论
0/150
提交评论