本次Python三级等级考试满分100分,共38题,涵盖单选题25题(50分)、判断题10题(20分)、编程题3题(30分),核心考查数制转换、列表操作、文件处理、异常处理、算法基础等Python重点知识点,内容适配备考复习与知识点梳理,以下为完整版真题+详细解析。
a = [3, 5, 7, 9]print(a[1:-1])[1:-1]取列表索引1到倒数第2个元素(含头不含尾),即5和7。[行][列],lst[1][1]代表第二行第二列元素,结果为4。with open("data.csv", "w") as f: f.write("Name,Age\nAlice,12\nBob,15")w为新建写入模式,代码创建的CSV文件包含表头+Alice、Bob两行有效数据。a为追加模式,在文件末尾写入数据,不覆盖原有内容;w覆盖写入,r只读,b二进制打开。with open("data.txt", "r+") as f: con = f.read() f.write(con.upper())r+为读写模式,with语句会自动关闭文件;read()后文件指针移至末尾,write()会在文件末尾追加原内容的大写版本。a = '2'b = '4'try: c = a * b print(c)except: print('程序出错!')else: print('程序正确!')x = 8y = [3,2,1,0]z = y.pop(1)try: a = int(x / z)except: print('程序出错!')else:passfinally: print(a)y.pop(1)取出列表索引1的元素2,x/z=8/2=4,无异常;finally代码块无论是否触发异常都会执行,最终打印a的值4。a=([0,False,''])b=[1,2,3,4,5,6,7,8,9]print(any(a)+all(b))c= ['低','碳']a= tuple(c)print(a)()包裹元素。c=[11,13,17,23,29,31]for a,i in _____________: print(a,i)运行结果: 0 11 1 13 2 17 3 23 4 29 5 31
a=input(str())r=3pi=float(a)print(pi*r**2)a = [1,2,3,4,3,2,3,4,2,1,4]print(list(set(a)))错误解析:CSV文件默认用逗号分隔,也可使用空格、分号等分隔符,解析时指定分隔符即可正确读取。
正确解析:s[2]获取王五的成绩列表['王五','89','98','99'],s[2][2]获取该列表中第2门成绩98。
正确解析:CSV文件的存储规则为,每行表示一个一维数据,不同行之间用换行符分隔。
错误解析:二进制中的10转换为十进制是2,十六进制中的10转换为十进制是16,二者数值不相等。
正确解析:二进制的位权为2的幂次,末位加0相当于整体乘以2,如二进制1(十进制1),末位加0为10(十进制2),值扩大2倍。
whileTrue : a = input('请输入一个整数,若不是整数将会让你重新输入: ' )try: b = int(a)except: print('你输入的不是整数!将返回重输。')else: print('你输入的是整数,程序结束。')break正确解析:代码利用try-except-else异常处理机制,非整数输入触发except并重新循环,整数输入执行else并break结束循环,可正常运行。
正确解析:chr(x)函数的作用是返回整数x对应的ASCII字符,参数x在0≤x≤255范围内即可,chr(48)返回ASCII字符'0'。
a=int('100',2)b=3.1415926r=round(b,4)print(a)print(r)正确解析:int('100',2)将二进制100转为十进制,结果为4;round(b,4)将b保留4位小数,四舍五入后为3.1416。
正确解析:sum([1,2,3])直接求和结果为6;range(1,4)生成序列[1,2,3],sum(range(1,4))求和结果也为6,二者相等。
正确解析:sorted()函数会对列表进行升序排序,并返回新的排序后的列表,对[6,3,5,9,2,1]排序后结果为[1,2,3,5,6,9]。
校园花坊采购一批鲜花,数据存储在文件 “flower.csv”,数据包含花名、数量、价格三列。编写代码读取文件信息,输出价格达到20的花名及总价,补全以下代码。
import csvwith open("/data/ ① ") as f: rows = list(csv.reader(f))for row in rows[1:]:if ( ② >= 20): print( row[0],int(row[1])*int(row[2]))import csvwith open("/data/flower.csv") as f: rows = list(csv.reader(f))for row in rows[1:]:if (int(row[2]) >= 20): print( row[0],int(row[1])*int(row[2]))补全以下冒泡排序代码,实现对列表[8,4,2,11,3,9]的升序排序。
a = [8,4,2,11,3,9]n = len(a)for i in range(0, ① ):for j in range(0, ② ):if a[j]>a[ ③ ]: a[j],a[j+1] = a[j+1],a[j] print(a)a = [8,4,2,11,3,9]n = len(a)for i in range(0, n-1):for j in range(0, n-i-1):if a[j]>a[j+1]: a[j],a[j+1] = a[j+1],a[j] print(a)补全以下代码,利用选择排序对n位同学的成绩降序排序,并输出排第3名的同学的成绩。 输入示例: 6 80 90 90 92 88 92 输出示例:90
n=int( ① )fenlist=[]for i in range(n): fen=input() fenlist.append( ② )for i in range( ③ ): k=i for j in range(i+1,n): if ④ : k=jif k!=i: fenlist[k],fenlist[i]=fenlist[i],fenlist[k]print( ⑤ )n=int(input())fenlist=[]for i in range(n): fen=input() fenlist.append(int(fen))#选择法排序(降序)for i in range(0,n-1): k=ifor j in range(i+1,n):if fenlist[k]<fenlist[j]: k=jif k!=i: fenlist[k],fenlist[i]=fenlist[i],fenlist[k]print(fenlist[2])




