ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:109KB ,
资源ID:4586453      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4586453.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(python练习题-答案.docx)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

python练习题-答案.docx

1、 一、 填空题 Python 练习题库 By 郑红波 2017-12-19 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,

2、3] ) 7. list(map(str, [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. 表达式“ [3] in [1, 2, 3, 4] ”的值为 。 ( False

3、 ) 11. 假设列表对象 aList 的值为 [3, 4, 5, 6, 7, 9, 11, 13, 15, 17] ,那么切片 aList[3:7] 得到 的值是 。 ( [6, 7, 9, 11] ) 12. 使用列表推导式生成包含 10 个数字 5 的列表,语句可以写为 。 ( [5 for i in range(10)] ) 13. 假设有列表 a = ['name', 'age', 'sex'] 和 b = ['Dong', 38, 'Male'] ,请使用一个语句将这 两个列表的内容转换为字典,并且以列表 a 中的元素为“键” ,以列表 b 中的元素为

4、值” ,这个语句可以写为 。 ( c = dict(zip(a, b)) ) 14. 任意长度的 Python 列表、元组和字符串中最后一个元素的下标为 。( -1 ) 15. Python 语句 ''.join(list('hello world!')) 执行的结果是 。( 'hello world!' ) 16. 转义字符’ \n ’的含义是 。(回车换行) 17. Python 语句 list(range(1,10,3)) 执行结果为 。( [1, 4, 7] ) 18. 切片操作 list(range(6))[::2] 执行结果为 。 ([0, 2, 4

5、] ) 19. 表达式 'ab' in 'acbed' 的值为 。 ( 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. 表达式 min(['11

6、', '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} ,那么执行语句 x[2] = 3 之后, x 的值为 。( {1: 2, 2: 3} ) 29. 字典对象的 方法返回字典中的“键 - 值对”

7、列表。 (items() ) 30. 使 用 列 表 推 导 式 得 到 100 以 内 所 有 能 被 13 整 除 的 数 的 代 码 可 以 写 作 。 ( [i for i in range(100) if i%13==0] ) 31. 表达式 3 ** 2 的值为 。( 9) 32. 表达式 3 * 2 的值为 。(6) 33. 已 知 x = [3, 5, 7] ,那么执行语句 x[len(x):] = [1, 2] 之后, x 的值为 。( [3, 5, 7, 1, 2] ) 34. 表达式 list(zip([1,2], [3,4])) 的值为 。

8、[(1, 3), (2, 4)] ) 35. 已知 x = [1, 2, 3, 2, 3] ,执行语句 x.pop() 之后, x 的值为 。( [1, 2, 3, 2] ) 36. 表达式 [x for x in [1,2,3,4,5] if x<3] 的值为 。( [1, 2] ) 37. 表达式 [index for index, value in enumerate([3,5,7,3,7]) if value == max([3,5,7,3,7])] 的值为 。( [2, 4] ) 38. 已 知 path = r'c:\test.html' , 那 么 表 达

9、 式 path[:-4]+'htm' 的 值 为 。 ( 'c:\\test.htm' ) 39. 表达式 '%d,%c' % (65, 65) 的值为 。( '65,A' ) 40. 表 达 式 'The first:{1}, the second is {0}'.format(65,97) 的 值 为 。 ('The first:97, the second is 65' ) 41. 表达式 ':'.join('abcdefg'.split('cd')) 的值为 。( 'ab:efg' ) 42. 表达式 isinstance('abcdefg', str) 的值为

10、 。( True ) 43. 表达式 'Hello world. I like Python.'.find('python') 的值为 。( -1 ) 44. 表 达 式 ','.join('a b ccc\n\n\nddd '.split()) 的 值 为 。 ( 'a,b,ccc,ddd' ) 45. 已知 x = '123' 和 y = '456' ,那么表达式 x + y 的值为 。( '123456' ) 46. 表达式 'abcab'.replace('a','yy') 的值为 。( 'yybcyyb' ) 47. 已知 table = ''.maketrans

11、'abcw', 'xyzc') ,那么表达式 'Hellow world'.translate(table) 的值为 。 ( 'Helloc corld' ) 48. 已知 x = {'b':1, 'a':2} ,那么执行语句 x.update({ ‘ a’ :3, ‘ d’ :4}) 之后,表达式 sorted(x.items()) 的值为 。( [('a', 3), ('b', 1), ('d', 4)] ) 49. 已知 x = list(range(20)) ,那么语句 print(x[100:200]) 的输出结果为 。( [] ) 50. 表达式 sorted({

12、'a':9, 'b':3, 'c':78}.values()) 的值为 。( [3, 9, 78] ) 51. type(1+2*3.14) 的结果是: float class 二、 阅读程序 1. 写出下面代码的执行结果。 def Join(List, sep=None): return (sep or ',').join(List) print(Join(['a', 'b', 'c'])) print(Join(['a', 'b', 'c'],':')) 答: a,b,c a:b:c 2. 若 k 为整数,下述 while 循环执行的次数为: 9 k=1000

13、while k>1: print(k) k=k//2 3. 写出下面代码的运行结果。 def Sum(a, b=3, c=5): return sum([a, b, c]) print(Sum(a=8, c=2)) print(Sum(8)) print(Sum(8,2)) 答: 13 16 15 4. 写出下列程序输出结果 i=1 while i+1: if i>4: print("%d"%i) i+=1 break print("%d"%i) i+=1 i+=1 5. 写出下面代码的运行结果。 def Sum(*p): return sum(

14、p) print(Sum(3, 5, 8)) print(Sum(8)) print(Sum(8, 2, 10)) 答: 16 8 20 6. 下面程序的执行结果是 。(1) s = 0 for i in range(1,101): s += i else: print(1) 7. 下面程序的执行结果是 。 ( 1275) s = 0 for i in range(1,101): s += i if i == 50: print(s) break else: print(1) 8. 阅读下面的代码,输出结果为 。 x = list(rang

15、e(10)) for index, value in enumerate(x): if value == 3: x[index] = 5 else: print(x) 答:将列表 x 中值为 3 的元素修改为 5。 9. 阅读下面的代码,解释其功能: >>> import string >>> x = string.ascii_letters + string.digits >>> import random >>> print(''.join(random.sample(x, 10))) l1 =[ 1, 2, 3, 6, 87, 3] l2 =[ 'aa'

16、 , 'bb' , 'cc' , 'dd' , 'ee' d={} , 'ff' ] for index in range ( len ( l1 )): d [ l1 [ index ]]= l2 [ index ] print d 14. 下面程序运行的结果为 [3 , 2] [1 ,2] . list1=[1,2] list2=list1[::] list1[0]=3 print(list1,list2) 15. 下面程序运行的结果为 恭喜,你已获得我公司的面试机会 ! age, subject,college= ( 24,“计算机”,”非重点” ) if (age

17、 > 25 and subject==" 程" ) or (age<=28 and subject==" 电子信息工程 ") or (college==" 计算机 "): 重点 " and subject==" 电子信息工 print(" else: print(" 恭喜,你已获得我公司的面试机会 !") 抱歉,你未达到面试要求 ") 16. 下面程序运行的结果为 for num in range(2,10): if num%2 == 0: continue print("Find a odd numer",num) 答案: Find a odd numer 3

18、 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 答:输出由英文字母大小写或数字组成的长度为 10 且不重复的随机字符串。 10. 下面的代码输出结果为 。( 3) def demo(): x = 5 x = 3 demo() print(x) 11. 下面程序运行的结果为 。 ( [5, 6, 1, 2, 3, 4] ) def demo(lst, k): if k

19、py New Year!H 。 def foo(s): if s=="": return s else: return s[1:]+s[0] print (foo('Happy New Year!')) 13. 下面程序运行的结果是 {1:'aa',2:'bb',3:'ff',6:'dd',87: 'ee'} 。 Find a odd numer 5 Find

20、a odd numer 7 Find a odd numer 9 17. 下面程序打印结果: for i in range(1, 7): print(' '*2*(6-i),end='') for j in range(i, 0, -1): print(j, end = " ") print() 18. 下面程序输入 >>>rev( ‘ I love you ’) 返回值为 you love I def rev1(s): s=s.split() s1=‘ ’.join(reversed(s)) return s1 19. 阅读程序,打印结果是 1000 def addIn

21、terest(balance,rate): newBalance=balance*(1+rate) balance=newBalance def main(): amount=1000 rate=0.05 addInterest(amount,rate) print (amount) main() 20. 阅读程序,打印结果是 def demo(newitem,old_list=[]): old_list.append(newitem) return old_list def main(): print(demo( ‘a’)) print(demo( ‘b’)) main()

22、 答案: ['a'] ['a', 'b'] 21. 阅读程序,打印结果是 def func5(a, b, *c): print(a,b) print("length of c is %d, c is " %len(c),c) func5(1,2,3,4,5,6) 答案: 1 2 length of c is 4,c is (3, 4, 5, 6) 22. 阅读程序,打印结果是 (2.5, 3, 4) def demo(*para): avg = sum(para)/len(para) g = [i for i in para if i>avg] return (avg,)+tu

23、ple(g) print(demo(1,2,3,4)) 23. 阅读程序,打印结果是 def f(w=1,h=2): print(w,h) f() f(w=3) f(h=7) f(a=3) 答案: 1 2 3 2 1 7 错误 24. 阅读程序,打印结果是 def sort(number1,number2): if number1

24、) 答案: n1 is 2 n2 is 3 25. 阅读程序,打印结果是 10 60 def demo(m, n): if m>n: m, n = n, m p = m*n while m!=0: r = n%m n = m m = r return (n,p//n) print( demo(20, 30)) 三、程序填空题 1. 下面代码的功能是,随机生成 50 个介于 [1,20] 之间的整数,然后统计每个整数出现频率。请把缺少的代码补全。 import random x = [random. (1,20) for i in range( )] r = dict

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

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

27、in range(1,n+1): print( ,end= ‘ ') for j in range(1,2*i): print('&', ) print() 答案: n=int(n) , ' '*(n-i) , end='' 4. 质因数分解,如输入 60,则得到 60 = 2 * 2 * 3 * 5. 请补全代码: x=eval(input( " 请输入小于 1000 的整数: " )) k=2 while x>1: if : print(k,end= " " ) x = x//k if x >1: print( "*" ,end= " " ) else

28、 答案: print(x, "=" ,end= " " ) , x % k==0 , k += 1 5. 验证哥德巴赫猜想:一个大于等于 6 的偶数可以表示为两个素数之和,请补全代码。 import math x=eval(input( “输入一个数” )) while x<6 or x%2==1: # 大于 6 的偶数 x=eval(input( “输入一个数” )) for n1 in : m1=int(math.sqrt(n1)+1) for i in range(2,m1): #2-sqrt(n1) if : break else :

29、 m2=math.ceil(math.sqrt(n2)+1) for j in range(2,m2): if n2%j==0 and j

30、s1),end= '' 7. 输出右边图形,请补充程序: for i : print(( ‘ * ’*(2*i -1)).center(30)) for i in range(6, 0, -1): print( ) 答案: in range(6) ;(' * ‘(2*i -1)).center(5*n) 8. 下面代码判断回文串,请补全代码: s=' 雾锁山头山锁雾 ' low=0 high= while low

31、 答案: len(s)-1 , s[low]!=s[high] ,break , high -=1 ; 9. 输出右边图形,请补充程序: s='''I am a teacher! You are students!''' print('='*30) print(' 统计信息 '.center(28)) print( ) item_width=25 line=s.count('\n')+1 word=s.split() char=list(s) # 包含空格、标点符号 w_num=0 for w in w

32、ord: w_num+= print('%-*s %5d'%(item_width-3,' 行数 ',line)) print('%-*s %5d'%( ,' 单词数 ',len(word))) print('%-*s %5d'%(item_width-10,' 字符数(包含空格) ', )) print('%-*s %5d'%(item_width-11,' 字符数(不包含空格) ',w_num)) print('-'*30) 答案: '-'*30 ; len(w) ; item_width-4 ; len(char) 10. 输出右边图形,请补充程序: def

33、 demo(t): print([1]) line = [1,1] for i in range(2,t): for j in range(0,len(line)-1): r.append( ) line = [1]+r+[1] print(line) demo( )  [1] [1, 1] [1, 2, 1] [1, 3, 3, 1] [1, 4, 6, 4, 1] [1, 5, 10, 10, 5, 1] [1, 6, 15, 20, 15, 6, 1] [1, 7, 21, 35, 35, 21, 7, 1] [1, 8, 28, 56, 70

34、 56, 28, 8, 1] [1, 9, 36, 84, 126, 126, 84, 36, 9, 1] 答案: print([1,1]) , r = [] , line[j]+line[j+1] , 10 四、编程题 1. 编写程序,在 D 盘根目录下创建一个文本文件 test.txt ,并向其中写入字符串 hello world 。答: fp = open(r ’ D:\test.txt ’ , ‘ a+’ ) print( ‘ hello world ’ , file=fp) fp.close() 2. 编写程序,生成一个包含 20 个随机整数的列表,然后对其中偶

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

36、 if v%i==0: return 'No' else: return 'Yes' print(IsPrime(77)) 4. 编写函数,模拟 Python 内置函数 sorted(lst) 。答: def sorted(v): t = v[::] r = [] while t: tt = min(t) r.append(tt) t.remove(tt) return r print(sorted([1,3,2,4]) 5. 编写程序, 生成包含 20 个随机数的列表, 然后将前 10 个元素升序排列, 后 10 个元素降序排列, 并输出结果。 答: i

37、mport random x = [random.randint(0,100) for i in range(20)] print(x) y = x[0:10] y.sort() x[0:10] = y y = x[10:20] y.sort(reverse=True) x[10:20] = y x y x<0 0 0<=x<5 x 5<=x<10 3x-5 10<=x<20 0.5x-2 20<=x 0 print(x) 6. 编写程序,运行后用户输入 4 位整数作为年份,判断其是否为闰年。如果年份能被 400 整除,则为闰年;如果年份能被 4 整

38、除但不能被 100 整除也为闰年。 答: x = input('Please input an integer of 4 digits meaning the year:') x = eval(x) if x%400==0 or (x%4==0 and not x%100==0): print('Yes') else: print('No') 7. 编写程序,实现分段函数计算,如下表所示。 答: x = input('Please input x:') x = eval(x) if x<0 or x>=20: print(0) elif 0<=x<5: pr

39、int(x) elif 5<=x<10: print(3*x-5) elif 10<=x<20: print(0.5*x-2) 8. 已知有一个包含一些同学成绩的字典,计算成绩的最高分、最低分、平均分,并查找最高分同学,最后打印最高分、最低分、平均分、最高分同学。 scores = {"Zhang San": 45, "Li Si": 78, "Wang Wu": 40, "Zhou Liu": 96, "Zhao Qi": 65, "Sun Ba": 90, "Zheng Jiu": 78, "Wu Shi": 99, "Dong Shiyi": 60} highest = m

40、ax(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. 统计不及格的学生及成绩,要求:给定一些学生姓名和成绩;询问用户是否还需要输入更多的学生姓名和成绩,用户回答是就继续输入,继续询问;打印所有

41、补考学生名单和成绩。 d=[[" 张三 ",76],[" 李四 ",45],[" 王五 ",83],[" 郑六 ",66],['a',54],['c',68],['b',89]] s1=input(" 输入数据 Y or N:").strip()# 去掉前后空格 while s1 == 'Y': s2=input(" 请输入学生及成绩(空格隔开) ") name,grade=s2.split() d.append([name,grade]) #d[name]=int(grade)

42、 s1=input(" 继续输入 Y or N:").strip() else: print(d) print(" 不及格的名单 :") for name,grade in d: if float(grade) < 60: print(" 姓名: ",name,"\t"," 成绩: ",grade) 10. 由用户一个一个输入一个数值型列表,然后将每个元素逐一打印。 lst=[] n=eval(input(

43、请输入数字个数:” )) for i in range(n): number=eval(input( ”请输入数字:” )) lst.append(number) for value in lst: 1 1 2 1 3 1 4 ... ( 1) n 1 1 n print(value,end= ’ ’ ) 11. 序列求和, n 通过用户输入 : n=int(input( “请输入 N 的值: ” )) s=0 fh=1 for i in range(1,n+1): s +=fh*1/i # 求和语句 fh=-fh # 正负交替 print

44、 "1-1/2+1/3-1/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)-1 for i in range(k,-1,-1):# 从后往前删,减少列表元素移动 if lst[i] % 2==1: lst.pop(i) print(" 偶数为 ",lst) 13. 恺撒( kaisa )密码:原文: AB

45、CDEFGHIJKLMNOPQRSTUV,W对XY应Z的密文为: DEFGHIJKLMNOPQRSTUVWXY,ZA请B设C计程序实现之。 plaincode=input(' 请输入明文: ') for p in plaincode: if 'a'<=p<='z': c=chr(ord('a')+(ord(p)-ord('a')+3)%26) #ord 是字符编码的值,都减掉 ord('A') 才可以得到字符的顺序 0-2

46、5 print(c,end='') elif 'A'<=p<='Z' : c=chr(ord('A')+(ord(p)-ord('A')+3)%26) print(c,end='') else: print(p,end='') 14. 如果一个字符串从前往后和从后往前读时是一样的,那么这个字符串就是回文串。请编写一个函数判断是否为回文串,同时编写测试代码检验回文串。 def isPalindrome(s) if s==s[::-1]: # 切片操作,倒序和顺序一样 return True else: return False s=input('input a

47、string:') if isPalindrome(s): print( ‘%s is a palindrome! ’%s) else: print( ‘%s is not a palindrome! ’%s) 15. 输入一串字符,统计每个字符数,用字典输出 . s=input(" 输入一行字符串或句子: ") char_counts={} for char in s: char_counts[char]= char_counts.get(char,0)+1 print(char_counts) 16. 生成包含 100 个随机字符的字符串,然后统计前 20 个高频

48、字符 . import string,random str1=string.ascii_letters +string.digits str1=str1.lower() str2=[random.choice (str1) for i in range(100)] print(str2) str_count={} for char in str2: str_count[char]=str_count.get(char,0)+1 print(str_count) items=list(str_count.items()) items.sort(key=lambda x:x[1]

49、reverse=True) # 以数量降序 for i in range(20): word,count = items[i] print("%-15s %5d"%(word,count)) #- 表示左对齐, s 表字符, d 表示整数 17. 统计” HarryPotterSorcerStone.txt ”文件中的英文单词及其数量 , 打印出单词及其个数 filename =r'HarryPotterSorcerStone.txt' infile = open(filename, "r") # Open the file txt=infile.read() words=t

50、xt.split() # 以空格分割单词 words_counts={} for word in words: words_counts[word]=words_counts.get(word,0)+1 print(words_counts) 18. 读取文本文件 data.txt 中所有整数,将其排序后写入文本文件 data_asc.txt 中 . with open('data.txt','r') as fp: data=fp.readlines() # 文件全部读完返回字符列表 print( ‘字符列表’ ,data) data=[int(line.strip())

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服