Python软件编程等级考试三级——20210905

本文涵盖了Python编程的基础知识,包括列表数据类型转换、异常处理、文件操作、排序算法等。介绍了如何使用map、len、divmod等函数,以及二分法在问题解决中的应用。还涉及到了Python内置函数min、max的使用,以及文件追加写入和读取模式。文章通过理论题目和实践题目帮助读者巩固Python编程技能。
摘要由CSDN通过智能技术生成

Python软件编程等级考试三级——20210905

理论

单选题

1、使用map函数可以实现列表数据元素类型的转换,而无需通过循环。则将列表L=[‘1’,‘3’,‘5’,‘7’,‘9’]转换为列表[1,3,5,7,9]的函数写法为?

A、map(int,L)
B、list(map(int,L))
C、map(L,int)
D、list(map(L,int))

2、以下关于()函数的说法中错误的是?

A、len()函数可以用于返回字符串中的字符数
B、len()函数可以用于返回列表中的元素个数
C、len('I Love China')的结果为10
D、len('I Love China')的结果为12

3、关于Python异常处理的解释,描述正确的是?

A、一般情况下,在Python正常处理程序时也会发生一个异常
B、异常处理增加了程序代码长度,降低了可读性
C、在程序中加入异常处理会使程序出现错误
D、当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行

4、Python文件常用的写入方式有w+和a+,它们的相同点是?

A、覆盖写
B、追加写
C、若文件不存在就创建
D、每次写的时候会自动覆盖上一次的内容

5、Python标准库math中用来计算平方根的函数是?

A、sqrt
B、max
C、min
D、print

6、某同学上完体育课回教室发现丢失了重要的物品,于是他找到班主任求助.班主任打开视频监控,然后把视频进度拖到这节课中间时间点,发现水杯已经丢失,于是判断是前半节课丢失的,接着又把视频进度拖到前面一般的一般…重复以上过程,很快就锁定了物品丢失的真相,以上描述,体现出了哪一种算法思想?

A、二分法
B、选择排序法
C、递归法
D、迭代法

7、去掉列表中的部分数据,例如去掉列表[1,2,3,4,5,6,7,8,9]中3的倍数,可以使用哪一函数来实现?

A、map
B、filter
C、zip
D、enumerate

8、定义一个列表 num=list(range(3,6)) print(num) 输出的结果是?

A、[0,1,2,3]
B、[0,1,2,3,4,5,6]
C、[3,4,5]
D、[3,4,5,6]

9、print(divmod(34,8))运行结果是?

A、4 2
B、4
C、2
D、2 4

10、八进制10的十进制值是?

A、8
B、10
C、20
D、24

11、a=3.1415926 round(a,2) 运行结果是?

A、3
B、3.14
C、3.141
D、3.1415926

12、12.Python内置函数( )用来返回序列中的最小元素?

A、mini()
B、read()
C、max()
D、min()

13、下面表达式的运行结果与print(divmod(37,9))运行结果相同的是?

A、print(37%9,37//9)
B、print((37%9,37//9))
C、print(37//9,37%9)
D、print((37//9,37%9))

14、已知输入变量x = ‘hello world’, 调用函数x.replace(‘l’, ‘h’)的结果为?

A、'hello world'
B、'lello world'
C、'hello worhd'
D、'hehho worhd'

15、下列十六进制数中,转换为二进制数后含有偶数个´1´的是?

A、0xF8
B、0xE0
C、0xA9
D、0x15

16、以下表达式是十六进制整数的选项是?

A、16
B、0b16
C、0x16
D、'0x16'

17、给已有文件“实验中学学生花名册.txt”增加两名学生,而且不能覆盖原有的内容。下面代码正确的是?

A、
filename = '实验中学学生花名册.txt'
with open(filename, 'w') as f:
	f.write('黎明\n')
	f.write('方芳\n')
B、
filename = '实验中学学生花名册.txt'
with open(filename, 'r') as f:
	f.write('黎明\n')
	f.write('方芳\n')
C、
filename = '实验中学学生花名册.txt'
with open(filename, 'r+') as f:
	f.write('黎明\n')
	f.write('方芳\n')
D、
filename = '实验中学学生花名册.txt'
with open(filename, 'a') as f:
	f.write('黎明\n')
	f.write('方芳\n')

18、以下关于二进制整数的定义,正确的是?

A、0B1014
B、0b1010
C、0b1019
D、0bC3F

19、设s=“happy time”,那么print(s[-2:])的结果是?

A、me
B、happy
C、time
D、ha

20、执行程序后,"中国诗人.txt"文件内容为?

filename = '中国诗人.txt'
with open(filename, 'a') as file:
	file.write('唐 李白\n')
	file.write('唐 白居易\n')
A、唐 李白 唐 白居易
B、唐 李白 
   唐 白居易
C、唐 李白\n唐 白居易
D、唐 李白\n唐 白居易\n

21、ord()函数可以将一个字符转化成ascii码值,而chr函数则是相反的过程。已知’a’的ascii码值为97,'A’的ascii码值为65,则Python完成小写转大写的核心代码为?

a input("请输入一个小写字母:\n")
b = ____
print("转化结果为:" + b)
A、chr(ord(a)-31)
B、ord(chr(a)-32)
C、chr(ord(a)+32)
D、chr(ord(a)-32)

22、关于文件的读写,下列解释表述错误的是?

A、读取模式('r')
B、写入模式('w')
C、读写模式('w')
D、附加模式('a')

23、小明编写了一个插入排序的算法,为列表arr = [5, 33, 21, 67, 39, 73, 7, 43 ]中的数值进行排序,他在调试时,如下图所示有意修改了循环的次数,请问,现在代码运行后print(arr)打印出的结果是?

# 插入排序范例调试
arr = [5, 33, 21, 67, 39, 73, 7, 43]
for i in range(4):  # 请注意此处起、止两数各是多少!
	j = i
	k = arr[i]
	while j > 0 and k < arr[j-1]:  #从第二个数开始比较,若小于上一个数,则:
		arr[j] = arr[j-1]  # 将当前数改为上一个数
		j = j - 1
	arr[j] = k  # 把上一个数改为当前数,完成两数的位置交换
print(arr)
A、[5,33,21,67,39,73,7,43]
B、[5,21,33,67,39,43,7,73]
C、[5,21,33,39,67,7,73,43]
D、[5,21,33,67,39,73,7,43]

24、异常处理的作用是不想让程序终止,如果出错了需要特殊处理。下列实现异常处理的语句是?

A、if/else
B、try/except
C、Warning
D、Error

25、小明想对列表arr = [5, 33, 21, 67, 39, 73, 7, 43 ]中的数值进行排序,于是编写了“冒泡排序”代码,如下图。请问,下图红线处,应该填入哪段代码?

# 冒泡排序范例
arr = [5, 33, 21, 67, 39, 73, 7, 43]
n = len(arr)
for i in range(0, n):
	for j in range(0, n-i-1):
		if ____:
			(arr[j], arr[j+1]) = (arr[j+1], arr[j])
print(arr)
A、arr[j] > arr[i +1]:
B、arr[i] > arr[j +1]:
C、arr[i] > arr[i +1]:
D、arr[j] > arr[j +1]:

判断题

26、readline()执行结果为字符串,readlines()执行结果为列表。

27、猜一个20以内的随机数二分法比顺序查找的效率更高。

28、Python中避免使用反斜线’‘指定文件路径时出错,如\t;常常使用斜线’/‘或者双反斜线’\'。

29、bool函数判断整数参数的布尔值时,只要是非0参数,结果就为True。

30、二进制数转换为十六进制的方法是:从右到左将4位分成一段,左边不满4位的可以用0补满,分别转换为十六进制。

31、Python中的dir函数是一个文件夹操作函数,其主要作用是创建一个文件夹。

32、二进制数与十六进制数的末位是“1”,各转换为十进制数后都是奇数。

33、在try-finally异常处理结构中,无论是否发生异常,都会处理最后的代码。

34、song.csv文件中第一列是歌曲名,使用以下Python程序可以把歌曲名单一一读取出来。

import csv
with open('song.csv', 'r') as f:
     reader = csv.reader(f)
     for i in reader:
         print(i[0])

35、执行代码 x, y, z = sorted([1, 3, 2]) 之后,变量y的值为 1 。

实操

第一题

输入10个数据进行升序排序,并在这有序数据上插入一个数据,使之仍然有序。

程序代码如下,请补全。

lis=[]
for i in range(10):
    x=int(input('输入待排序数据%d:'%(i)))
    lis.append(x) 
    
for i in range(    ①    ):
    for j in range(i,len(lis)):
        if     ②    :
            lis[i],lis[j]=lis[j],lis[i]
print(lis)

n=int(input('输入一个需要插入的数据:'))
lis.append(n)
for i in range(    ③    ):
    if     ④    :
        for j in range(i,len(lis)):
            lis[j],lis[-1]=    ⑤    
        break
print(lis)

第二题

小文的运动时间数据存储在文件“sport.csv”中,数据内容如下图显示:

在这里插入图片描述

下列代码实现了读取数据,求和并统计个数,输出平均时长,并保留2位小数,请你补全代码。

import csv
with open("/data/①") as f:
    rows = list(csv.reader(f))
    s=0
    c=0
    for row in rows[1:]:
        s+=int(②)
        c=c+1
print(round(③,2))    

第三题

给定一个整数 num,从 1 到 num 按照下面的规则返回每个数:

如果这个数被 3 整除,返回 ‘Apple’。

如果这个数被 5 整除,返回 ‘Pie’。

如果这个数能同时被 3 和 5 整除,返回 ‘ApplePie’。

如果这个数既不能被 3 也不能被 5 整除,返回这个数字的字符串格式。

n=int(input("请输入一个数字:"))
results=[]
for i in range(1,):
    if:
        results.append("ApplePie")
    elif i%3==0:
        results.append("Apple")
    elif i%5==0:
        results.append("Pie")
    else:
        results.append()
print(results)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青岛少儿编程-王老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值