书签 分享 收藏 举报 版权申诉 / 28
上传文档赚钱

类型(整理)python练习题-答案.docx

  • 上传人(卖家):最好的沉淀
  • 文档编号:5716915
  • 上传时间:2023-05-05
  • 格式:DOCX
  • 页数:28
  • 大小:114.70KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《(整理)python练习题-答案.docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    整理 python 练习题 答案
    资源描述:

    1、(完整版)python 练习题-答案(完整版)python 练习题-答案(完整版)python 练习题-答案Python 练习题库一、填空题1. Python 标准库 math 中用来计算平方根的函数是 。(sqrt)2. 在 Python 中 表示空类型。(None)3. 列表、元组、字符串是 Python 的 (有序?无序)序列。(有序)4. 查看变量类型的 Python 内置函数是 。(type()5. 查看变量内存地址的 Python 内置函数是 。(id())6.表达式1, 2, 3*3 的执行结果为 。(1,2 ,3 ,1, 2 ,3 ,1, 2,3 )7.list(map(str

    2、,1,2, 3)的执行结果为 。(1, 2, 3)8. 已知x = 3 ,并且 id(x)的返回值为496103280 ,那么执行语句x += 6之后,表达式id(x) = 496103280 的值为 。(False)9. 已知x = 3 ,那么执行语句x= 6 之后,x 的值为 。(18)10. 表达式“3in1, 2, 3,4 的值为 。(False)11. 假设列表对象 aList 的值为3,4, 5, 6 ,7 ,9, 11, 13 ,15, 17 ,那么切片 aList3:7得到的值是 。(6, 7,9 ,11 )12. 使用列表推导式生成包含 10 个数字 5 的列表,语句可以写为

    3、 。(5 for i in range(10))13. 假设有列表 a = name, age, sex和 b = Dong, 38,Male ,请使用一个语句将这两个列表的内容转换为字典,并且以列表 a 中的元素为“键”,以列表 b 中的元素为“值”,这个语句可以写为 。(c = dict(zip(a, b)))14. 任意长度的 Python 列表、元组和字符串中最后一个元素的下标为 。(-1)15. Python 语句.join(list(hello world!))执行的结果是 。(hello world!)16. 转义字符n的含义是 。(回车换行)17. Python 语句 list

    4、(range(1,10,3)执行结果为 .(1,4, 7 )18. 切片操作 list(range(6))::2执行结果为 .(0, 2, 4)19. 表达式ab inacbed 的值为 。(False)20. Python 3.x 语句print (1,2, 3 ,sep=: ) 的输出结果为 。(1:2:3)21. 表达式int(4*0 。5) 的值为 。(2)22. 达式sorted(111, 2 ,33 ,key=lambda x :-len(str(x ))) 的值为 。(111, 33,2 )23. 已知列表对象 x = 11, 2, 3,则表达式max(x)的值为 。(3)24.

    5、 表达式min (11, 2, 3) 的值为 .(11)25. 已知列表对象 x = 11, 2, 3,则表达式 max(x,key=len)的值为 .(11)26. 语句x =(3,) 执行后 x 的值为 。(3,)27. 语句x =(3) 执行后 x 的值为 。(3)28. 已知x =1:2,那么执行语句x2 = 3 之后,x 的值为 。(1: 2,2: 3)29. 字典对象的 方法返回字典中的“键-值对”列表。(items()30. 使 用 列 表 推 导 式 得 到100以 内 所 有 能 被13整 除 的 数 的 代 码 可 以 写 作 。(i for i in range(100)

    6、if i%13=0 )31. 表达式3* 2 的值为 。(9)32. 表达式3 * 2 的值为 。(6)33. 已知x = 3, 5,7 ,那么执行语句xlen (x):= 1, 2之后,x 的值为 。(3,5 ,7 ,1, 2 )34. 表达式list (zip(1,2,3,4 ) 的值为 .(1,3 ),(2,4))35. 已知x = 1,2 ,3 ,2 ,3 ,执行语句x.pop () 之后,x 的值为 。(1,2, 3, 2)36. 表达式xfor x in 1,2,3,4,5ifx import string x = string.ascii_letters + string.dig

    7、its import random print(。join(random。sample(x,10 )答:输出由英文字母大小写或数字组成的长度为 10 且不重复的随机字符串。10. 下面的代码输出结果为 。 (3) def demo():x = 5x = 3 demo() print(x)11. 下面程序运行的结果为 .(5, 6,1 ,2 ,3 ,4 ) def demo(lst, k):if klen(lst):return lstk:+lst:klst=1,2,3,4,5,6 demo(lst,4)12. 下面程序运行的结果为 appy New Year!H 。def foo(s):if

    8、s=”:return s else:return s1:+s0 print (foo(Happy New Year!)l1=1,2,3,6,87,3l2=aa,bb,cc,dd,ee,ff d=forindexinrange (len(l1): dl1index=l2index printd13. 下 面 程 序 运 行 的 结 果 是 1 : aa , 2:bb , 3 : ff,6:dd , 87: ee。14. 下面程序运行的结果为3,2 1,2. list1=1,2list2=list1:: list1 0=3print (list1,list2)15. 下面程序运行的结果为恭喜,你已

    9、获得我公司的面试机会! age,subject ,college=(24,“计算机”,”非重点”)if (age 25 and subject= ”电子信息工程”) or (college=”重点 and subject= 电子信息工程”) or (agen:m,n = n ,mp = m*nwhile m!=0:r = nmn = m m = rreturn (n,p/n) print(demo(20 ,30)三、程序填空题1. 下面代码的功能是,随机生成 50 个介于1,20之间的整数,然后统计每个整数出现频率。请把缺少的代码补全。import randomx = random。 (1,2

    10、0)for i in range ( ) r = dict()for i in x:ri= r.get(i, )+1 for k,v in r.items( ):print(k,v)答:分别填写 randint、50、02. 生成包含 1000 个随机字符的字符串,然后统计前 20 个高频字符,最后以 15 个位左对齐输出高频字符,以 5 个位右对齐输出个数.请把缺少的代码补全。import randomx = string。ascii_letters + string.digits + string。punctuation y = for i in range(1000)d = dict()

    11、 for ch in y:dch = d。get(ch, 0)+ 1items=list(d.items()items.sort(,reverse=True) for i in range(20):word,count = itemsiprint(%(word,count)答案:import string 、random.choice(x) 、key= lambda x:x1、“%-15s%5d”3. 用户输入 5,打印如右图字符金字塔图形,请补全代码:n=input(输入行数:)for i in range(1,n+1):print(,end= )for j in range(1,2*i):

    12、print(,)print()答案:n=int(n), *(ni),end=4. 质因数分解,如输入 60,则得到 60 = 2 * 2 3 * 5.请补全代码: x=eval(input(”请输入小于 1000 的整数:))k=2whilex1:if:print(k,end=” ) x = x/kif x 1:print(”,end=” ”) else:答案:print(x,=,end= ),x k=0,k += 15. 验证哥德巴赫猜想:一个大于等于 6 的偶数可以表示为两个素数之和,请补全代码。import math x=eval(input(“输入一个数”))while x6 or x

    13、%2=1:#大于 6 的偶数x=eval(input(“输入一个数”)for n1 in :m1=int(math.sqrt(n1)+1)for i in range(2,m1):#2sqrt(n1) if:breakelse:m2=math.ceil(math。sqrt(n2)+1)for j in range(2,m2):if n2%j=0 and jn2:else:print(x,=,n1,+,n2)6.右对齐九九乘法表,请补全代码:for i in range(1,10):s1=str(i)+str(j)+=+str(i*j)答案:range(3,x/2,2),n1i=0, n2=x-

    14、n1, breakprint()print()答案:for j in range(1,i+1):,%8s(s1),end=7.输出右边图形,请补充程序:for i:print(( *(2i-1).center(30)for i in range(6,0 ,-1 ):print()答案:inrange(6);( (2i-1)。center(5*n)8.下面代码判断回文串,请补全代码:s=雾锁山头山锁雾 low=0high=while lowhigh:if:# 倒序和顺序不一样print(s,不是回文) low +=1else:print(s,”是回文串)答案:len(s)-1,slow!=shi

    15、gh,break,high -=1;9.输出右边图形,请补充程序:s=I am a teacher! You are students! print(=30)print(统计信息.center(28)) print()item_width=25line=s。count(n)+1 word=s.split()char=list(s)包含空格、标点符号w_num=0for w in word: w_num+=print(s %5d%(item_width3,行数,line))print(%-*s 5d(,单词数,len(word)print(%s %5d%(item_width10,字符数(包含空

    16、格),) print(%s 5d%(item_width11,字符数(不包含空格),w_num)) print(-30)答案:*30;len(w);item_width-4;len(char)11, 11, 2, 11, 3, 3, 11, 4, 6, 4, 11, 5, 10, 10, 5, 11, 6, 15, 20, 15, 6, 11, 7, 21, 35, 35, 21, 7, 11, 8, 28, 56, 70, 56, 28, 8, 11, 9, 36, 84, 126, 126, 84, 36, 9, 110. 输出右边图形,请补充程序:def demo(t): print(1

    17、)line =1,1for i in range(2,t):for j in range(0,len(line)1): r。append() line =1+r+1print(line) demo()答案:print(1,1),r = ,linej+linej+1,10四、编程题1. 编写程序,在 D 盘根目录下创建一个文本文件test。txt,并向其中写入字符串 hello world。答:fp = open(rD:test.txt, a+) print(hello world,file=fp) fp.close()2. 编写程序,生成一个包含 20 个随机整数的列表,然后对其中偶数下标的元

    18、素进行降序排列, 奇数下标的元素不变。(提示:使用切片。)答:import randomx = random.randint(0,100) for i in range(20) print(x)y = x:2y。sort(reverse=True) x::2 = yprint(x)3. 编写函数,判断一个数字是否为素数,是则返回字符串 YES,否则返回字符串 NO。再编写测试函数.答:import mathdef IsPrime(v):n = int(math。sqrt(v)+1) for i in range(2,n):if vi=0: returnNoelse:returnYes prin

    19、t(IsPrime(77))4. 编写函数,模拟 Python 内置函数 sorted(lst)。答:def sorted(v):t = v::r = while t:tt = min(t)r.append(tt)t。remove(tt) return rprint(sorted(1,3,2,4)5. 编写程序,生成包含 20 个随机数的列表,然后将前 10 个元素升序排列,后 10 个元素降序排列,并输出结果。答:import randomx = random.randint(0,100)for i in range (20) print(x)y = x0:10 y 。 sort() x0:

    20、10= y y = x10:20xyy。sort(reverse=True) x10:20 = y020=x0.5x210=x203x-55=x10x0=20: print(0) elif 0=x 5: print(x) elif 5 =x10: print(3*x-5) elif 10=x20:print(0。5x2)8. 已知有一个包含一些同学成绩的字典,计算成绩的最高分、最低分、平均分,并查找最高分同学,最后打印最高分、最低分、平均分、最高分同学.scores = ”Zhang San”: 45, Li Si: 78, ”Wang Wu”: 40, ”Zhou Liu:96 ,Zhao

    21、Qi: 65, ”Sun Ba”:90 , ”Zheng Jiu: 78, ”Wu Shi”:99 ,Dong Shiyi: 60 highest = max(scores.values())lowest = min(scores。values()average = sum(scores.values()/len(scores)highestPerson =name for name, score in scores。items()if/ score = highest #分行print(highest,lowest,average,highestPerson)9. 统计不及格的学生及成绩,要

    22、求:给定一些学生姓名和成绩;询问用户是否还需要输入更多的学生姓名和成绩,用户回答是就继续输入,继续询问;打印所有补考学生名单和成绩。d=张三”,76,李四”,45,”王五,83,”郑六,66,a,54,c,68,b,89s1=input(”输入数据 Y or N:”)。strip()去掉前后空格 while s1 = Y:s2=input(请输入学生及成绩(空格隔开)”) name,grade=s2.split()d。 append(name,grade) #dname=int(grade)s1=input(继续输入 Y or N:”)。strip() else:print(d)print(”

    23、不及格的名单:”) for name,grade in d:if float(grade) 60 :print(姓名:”,name,”t,”成绩:”,grade)10. 由用户一个一个输入一个数值型列表,然后将每个元素逐一打印. lst=n=eval(input(”请输入数字个数:)) for i in range(n):number=eval(input(”请输入数字:”) lst.append(number)n2341 - 1 + 1 - 1 + . + (-1)n-1 1for value in lst: print(value,end=)11. 序列求和,n 通过用户输入:n=int(

    24、input(“请输入 N 的值:)) s=0fh=1for i in range(1,n+1):s +=fh1/i# 求和语句fh=fh#正负交替print(11/2+1/31/4.。.+(-1)(n-1)/n=,s,i)12. 生成一个包含 50 个两位随机整数的列表,然后删除其中的所有奇数(提示从后向前删) lst=random。randint(1,100) for i in range(50)print(50 个随机两位整数:,lst)k=len(lst)1for i in range(k,1,-1):#从后往前删,减少列表元素移动 if lsti % 2=1:lst.pop(i) pr

    25、int(”偶数为,lst)13. 恺撒(kaisa)密码:原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ,对应的密文为:DEFGHIJKLMNOPQRSTUVWXYZABC,请设计程序实现之。plaincode=input(请输入明文:) for p in plaincode:ifa=p=z:c=chr(ord(a)+(ord(p)ord(a)+3)26)#ord是字符编码的值,都减掉 ord(A)才可以得到字符的顺序 0-25 print(c,end=)elifA=p=Z :c=chr(ord(A)+(ord(p)ord(A)+3)%26) print(c,end=)else:p

    26、rint(p,end=)14. 如果一个字符串从前往后和从后往前读时是一样的,那么这个字符串就是回文串.请编写一个函数判断是否为回文串,同时编写测试代码检验回文串。def isPalindrome(s)if s=s ::-1:#切片操作,倒序和顺序一样return Trueelse:return Falses=input(input a string:) ifisPalindrome(s):print(s is a palindrome!%s) else:print(%sis not a palindrome !%s)15. 输入一串字符,统计每个字符数,用字典输出。s=input(” 输 入

    27、 一 行 字 符 串 或 句 子 :) char_counts=for char in s:char_countschar= char_counts。get(char,0)+1 print(char_counts)16. 生成包含 100 个随机字符的字符串,然后统计前 20 个高频字符. import string,randomstr1=string。ascii_letters +string.digits str1=str1。lower()str2=random。choice (str1)for i in range(100 ) print(str2)str_count= for char

    28、 in str2:str_countchar=str_count。get(char,0)+1 print(str_count)items=list(str_count.items()items。sort(key=lambda x:x1,reverse=True)以数量降序 for i in range(20):word,count = itemsiprint(-15s5d”%(word,count)#表示左对齐,s 表字符,d 表示整数17. 统计”e:HarryPotterSorcerStone.txt文件中的英文单词及其数量,打印出单词及其个 数filename =rHarryPotter

    29、SorcerStone 。 txt infile = open(filename, r”) # Open the file txt=infile。read()words=txt。split()以空格分割单词words_counts=for word in words:words_countsword=words_counts.get(word,0)+1 print(words_counts)with open(data。txt,r) as fp:data=fp。readlines()文件全部读完返回字符列表print(字符列表,data)data=int(line.strip()for line in data#列表的数据变成整数18. 读取文本文件 data。txt 中所有整数,将其排序后写入文本文件 data_asc。txt 中.data.sort()data=str(i)+nf

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:(整理)python练习题-答案.docx
    链接地址:https://www.163wenku.com/p-5716915.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库