最新Python经典题库及答案.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《最新Python经典题库及答案.docx》由会员分享,可在线阅读,更多相关《最新Python经典题库及答案.docx(108页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料Python经典题库及答案.Python经典题库及答案一、简答题1、写出python导入模块的关键字((1)import,(2)from * import *)2、 写出 Python 运算符&的两种功能?(1)数字位运算;2)集合交集运算。)3、 简单解释 Python 基于值的自动内存管理方式?(Python 采用的是基于值得内存管理方式,在 Python 中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python 具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python 自动将其删除。)4、 在 Python 中导
2、入模块中的对象有哪几种方式?(1)import 模块名 as 别名;2)from 模块名 import 对象名 as 别名;3)from math import *)5、 解释 Python 脚本程序的“ name ”变量及其作用?(每个 Python 脚本在运行时都有一个“ name ”属性。如果脚本作为模块被导入,则其“ name ”属性的值被自动设置为模块名;如果脚本独立运行,则其“ name ”属性值被自动设置为“ main ”。利用“ name ”属性即可控制 Python 程序的运行方式。)6、 为什么应尽量从列表的尾部进行元素的增加与删除操作?(当列表增加或删除元素时,列表对象自
3、动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度。)7、 分析逻辑运算符“or”的短路求值特性?(假设有表达式“表达式 1 or 表达式 2”,如果表达式 1 的值等价于 True,那么无论表达式 2 的值是什么,整个表达式的值总是等价于 True。因此,不需要再计算表达式 2 的值。)8、 简单解释 Python 中短字符串驻留机制?(对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享改副本。)9、 异常和错误有什么区别?(异常是指因为程序执行过程中出错而在正常控制流以外采取的行
4、为。严格来说,语法错误和逻辑错误不属于异常,但有些语法错误往往会导致异常,例如由于大小写拼写错误而访问不存在的对象,或者试图访问不存在的文件,等等。)10、 使用 pdb 模块进行 Python 程序调试主要有哪几种用法?(1)在交互模式下使用 pdb 模块提供的功能可以直接调试语句块、表达式、函数等多种脚本。2)在程序中嵌入断点来实现调试功能。在程序中首先导入 pdb 模块,然后使用 pdb.set_trace()在需要的位置设置断点。如果程序中存在通过该方法调用显式插入的断点,那么在命令提示符环境下执行该程序或双击执行程序时将自动打开pdb 调试环境,即使该程序当前不处于调试状态。3)使用
5、命令行调试程序。在命令行提示符下执行“python m pdb 脚本文件名”,则直接进入调试环境;当调试结束或程序正常结束以后,pdb 将重启该程序。)10、阅读下面的代码,并分析假设文件“D:test.txt”不存在的情况下两段代码可能发生的问题。代码 1: try:fp = open(rd:test.txt) print(Hello world!, file=fp)finally:fp.close()代码 2: try:fp = open(rd:test.txt, a+) print(Hello world!, file=fp)finally:fp.close()答:假设文件“D:test
6、.txt”不存在,那么第一段代码会抛出异常,提示 fp 没有定义;第二段代码执行正常。原因是第二段代码使用内置函数 open()打开指定文件时如果不存在则会创建该文件,从而不会抛出异常。11、下面的代码本意是把当前文件夹中所有 html 文件都改为 htm 文件,仔细阅读代码,简要说明可能存在的问题。import osfile_list=os.listdir(.) for filename in file_list:pos = filename.rindex(.)if filenamepos+1: = html:newname = filename:pos+1+htm os.rename(fi
7、lename,newname)print(filename+更名为:+newname)答:对于字符串对象,如果要查找的子字符串不存在,则 rindex()方法会抛出异常。所以,如果当前文件夹中有不包含圆点的文件名或者子文件夹名,上面的代码会抛出异常而崩溃。12、四、编程题1、编写程序,在 D 盘根目录下创建一个文本文件 test.txt,并向其中写入字符串 hello world。答:fp = open(rD:test.txt, a+) print(hello world, file=fp) fp.close()2、写出下面代码的优化版本,提高运行效率。x = list(range(500)
8、for item in x:t = 5*5 print(item+t)答:x = list(range(500) t = 5*5for item in x:print(item+t)3、编写程序,生成一个包含 20 个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片。)答:import randomx = random.randint(0,100) for i in range(20) print(x)y = x:2y.sort(reverse=True) x:2 = yprint(x)4、写出下面代码的执行结果。 def Join(List, sep
9、=None):return (sep or ,).join(List) print(Join(a, b, c)print(Join(a, b, c,:)答:a,b,ca:b:c5、写出下面代码的运行结果。 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)答:1316156、写出下面代码的运行结果。 def Sum(*p):return sum(p) print(Sum(3, 5, 8) print(Sum(8) print(Sum(8, 2, 10)答:168207、编
10、写函数,判断一个数字是否为素数,是则返回字符串 YES,否则返回字符串 NO。答:import math def IsPrime(v):n = int(math.sqrt(v)+1) for i in range(2,n):if v%i=0:return Noelse:return Yes8、编写函数,模拟 Python 内置函数 sorted()。答:def Sorted(v):t = v: r = while t:tt = min(t) r.append(tt) t.remove(tt)return r9、编写程序,生成包含 20 个随机数的列表,然后将前 10 个元素升序排列,后 10
11、个元素降序排列,并输出结果。答:import randomx = random.randint(0,100) for i in range(20) print(x)y = x0:10y.sort()x0:10 = y y = x10:20y.sort(reverse=True)x10:20 = yprint(x)10、编写程序,运行后用户输入 4 位整数作为年份,判断其是否为闰年。如果年份能被 400整除,则为闰年;如果年份能被 4 整除但不能被 100 整除也为闰年。答:x = input(Please input an integer of 4 digits meaning the yea
12、r:) x = eval(x)if x%400=0 or (x%4=0 and not x%100=0): print(Yes)else:print(No)11、编写程序,实现分段函数计算,如下表所示。xyx000=x5x5=x103x-510=x200.5x-220=x0答:x = input(Please input x:) x = eval(x)if x=20: print(0)elif 0=x5:print(x) elif 5=x10:print(3*x-5) elif 10=x x = list(range(20) for i in range(len(x): del xi答:无法正
13、确执行,因为删除列表元素时会影响其他元素在列表中的索引,上面的代码会抛出下标越界的异常。19、阅读下面的代码,解释其功能。 x = list(range(20) for index, value in enumerate(x): if value = 3:xindex = 5答:将列表 x 中值为 3 的元素修改为 5。20、阅读下面的代码,解释其功能。 x = range(3*i, 3*i+5) for i in range(2) x = list(map(list, x) x = list(map(list, zip(*x)答:首先生成一个包含列表的列表,然后模拟矩阵转置。21、阅读下面的
14、代码,解释其功能。 import string x = string.ascii_letters + string.digits import random print(.join(random.sample(x, 10)答:输出由英文字母大小写或数字组成的长度为 10 且不重复的随机字符串。22、阅读下面的代码,分析其执行结果。 def demo(*p):return sum(p) print(demo(1,2,3,4,5)print(demo(1,2,3)答:输出结果为15623、阅读下面的代码,分析其执行结果。 def demo(a, b, c=3, d=100):return sum(
15、a,b,c,d)print(demo(1, 2, 3, 4)print(demo(1, 2, d=3)答:输出结果为10924、下面的代码输出结果为 。(3) def demo():x = 5x = 3 demo() print(x)25、下面函数的功能为 。(将序列循环左移 k 位,得到新序列并返回)def demo(lst, k):if k for x in range(21): for y in range(34):z = 100-x-yif z%3=0 and 5*x + 3*y + z/3 = 100: print(x,y,z)0 25 754 18 788 11 8112 4 84
16、(2)列表推导式 (x, y, 100-x-y) for x in range(21) for y in range(34) if (100-x-y)%3=0 and 5*x+3*y+(100-x-y)/3=100(0, 25, 75), (4, 18, 78), (8, 11, 81), (12, 4, 84)29、编写函数,给定任意字符串,找出其中只出现一次的字符,如果有多个这样的字符,就全部找出。def searchOne(s):# 创建空字典d = dict()# 遍历字符串,并分别记录每个字符的出现次数for ch in s:# 这里重点演示字典的 get()方法# 如果这个字符出现
17、过,加 1# 如果这个字符第一次出现,0+1 dch = d.get(ch, 0) + 1# 列表推导式,查找所有只出现一次的字符chs = ch for ch, n in d.items() if n=1# 返回最终结果,所有只出现一次的字符return chs print(searchOne(abcdddca)30、阅读以下冒泡法排序代码,尝试写出优化代码,提高代码运行效率。from random import randintdef bubbleSort(lst): length = len(lst)for i in range(0, length):for j in range(0, l
18、ength-i-1):#比较相邻两个元素大小,并根据需要进行交换 if lstj lstj+1:lstj, lstj+1 = lstj+1, lstjlst = randint(1, 100) for i in range(20) print(Before sort:n, lst) bubbleSort(lst)print(After sort:n, lst)参考答案:from random import randintdef bubbleSort(lst): length = len(lst)for i in range(0, length):flag = Truefor j in rang
19、e(0, length-i-1):#比较相邻两个元素大小,并根据需要进行交换 if lstj lstj+1:lstj, lstj+1 = lstj+1, lstjflag = Falseif flag:breaklst = randint(1, 100) for i in range(20) print(Before sort:n, lst) bubbleSort(lst)print(After sort:n, lst)31、编写程序,用户输入带有千分位逗号的数字字符串,然后输出不带千分位逗号的数字字符串。如果输入字符串0则退出程序。参考答案:def convert(strNumber):re
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 Python 经典 题库 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内