Python三级真题2024-12

本试卷分为单选题、判断题和编程题三个部分,满分100分,请考生仔细审题,按要求完成作答,祝您考试顺利!
以下选项中,哪一项转换后对应十进制数不是10?( )
A.  0b1010
B.  0o12
C.  0xa
D.  0d11
以下选项中不会报错的是?( )
A.  a=10+0
B.  int(X)
C.  b=10/0
D.  float(1.2)
将十进制数52转换为二进制数时,该二进制数的位数是?( )
A.  3
B.  4
C.  5
D.  6
下面哪个数值和其他不一样?( )
A.  int(0O30,8)
B. (18)16
C. (25)10
D. (11000)2
将十进制数522转换为十六进制数,最低位上的数是?( )
A.  8
B.  9
C.  A
D.  B
以下代码的运行结果是?( ) numbers = [1, 2, 3, 4, 5]

result = list(map(str, numbers) ) print(result)

A.  1, 2, 3, 4, 5
B.  [1, 2, 3, 4, 5]
C.  None
D.  [1, 2, 3, 4, 5]
divmod(134, 4)的结果是?( )
A.  [33, 2]
B.  (33, 2)
C.  (2, 33)
D.  [2, 33]
函数round(3.576, 2) 的返回结果是?( )
A. 3.57
B. 3.58
C. 3.6
D. 4.00
函数bool(None)的返回结果是?( )
A. True
B. False
C. None
D. 0
以下哪个函数可以用来将列表转换为集合?( )
A.  list()
B.  dict()
C.  tuple()
D.  set()
在Python中,以下哪个表达式将返回False?( )
A.  any([1, 2, 0])
B.  any([, hello, !])
C.  any([{}, {1:2}, {3:4}])
D.  any([False, False, False])
以下哪个表达式将返回字符串'123'?( )
A. str(123.456)
B. int(123.456)
C. str(123)
D. float(123)
下列哪个选项是用正确的方式来处理 input() 函数返回的字符串,以便将其转换为一个整数?( )
A.  num = input(请输入一个数字:)
B.  num = int(input(请输入一个数字:))
C.  num = str(input(请输入一个数字:))
D.  num = float(input(请输入一个数字:))
下列程序运行的结果是?( ) try: 

     a=6

     b=0 

     c=a/b 

     print(c)

 except:

     print('error!')

A. 0
B. 6
C. c
D. error!
函数abs(-2.6)的返回值是?( )
A. -2.6
B. 2.6
C. -3
D. 3
函数ord("C")的返回值是什么?( )
A. 65
B. 66
C. 67
D. 68
以下哪个选项不是算法的基本结构?( )
A. 顺序结构
B. 查找结构
C. 分支结构
D. 循环结构
超市购物促销:购物满49元减5元,购物满99元减15元,根据所购物品金额求优惠率。解决此问题的合适算法是?( )
A. 解析算法
B. 枚举算法
C. 排序算法
D. 递归算法
关于二分查找算法,下列描述错误的是?( )
A.  二分查找的前提是被查找的数据序列是有序的
B.  二分查找的次数难以确定,常用while语句实现循环
C.  二分查找最坏的情况是查找n次结束
D.  二分查找的区间范围会逐渐缩小
Python表达式abs(int(-4.6))的计算结果是?( )
A. 4
B. 5
C. -4
D. 4.6
小明编写了下列4行代码,请问,代码运行到最后,屏幕上打印出来的结果是?( ) 

a = ['红','橙','黄'] 

b = [1,2,3] 

c = [b,a] 

print(c[1][0])

A.  2
B.  1
C.  橙
D.  红
下面代码从"成绩.csv"文件中读出数据,并将数据以列表形式存储。请问,划线处的代码应该为?( )

 f=open('成绩.csv','r')

a=f.read().strip().split(______)

f.close()

A.  。
B.  ,
C.  \t
D.  \n

以下代码将建立一个名为"姓氏.csv"的文件,划线处的代码应该为?( ) 

a = ['赵','钱','孙','李','周','吴','郑','王']

f=open('姓氏.csv',______)

f.write(','.join(a)+'\n')

f.close()

A. r
B. a
C. w
D. rb

如下图所示,有一个名为"价格.csv"的文件。小明针对这个文件编写了5行代码。 请问,代码运行到最后,打印在屏幕上的结果是?( )

with open('价格.csv', 'r', encoding='utf-8') as f:

    for line in f.readlines():

        a = line.strip().split(",")

        if a[1] == '9' :

            print(a[0])
 

A.  西瓜
B.  椰子
C.  桔子
D.  香梨

如下所示的2行代码,最后print()函数打印出来的结果是?( )

c = [['赵大',21,'男','北京'],['钱二',20,'男','西安'],['孙三',18,'女','南京'],['李四',20,'女','杭州']] 

print(c[1][3])

A.  男
B.  北京
C.  西安
D.  女
hex()函数可以将十进制数转换成十六进制数。在Python交互式编程环境下,执行语句hex(11)后,显示的运行结果是'b'。( )
正确
错误
二进制数、八进制数与十六进制数的末位如果是“1”,各转换为十进制数后都是奇数。( )
正确
错误
使用with语句打开文件并处理文件后,必须使用close()函数关闭文件,以确保所有数据都被写入磁盘并释放系统资源。( )
正确
错误
range(1, 11, 2)会生成一个包含数字1, 3, 5, 7, 9, 11的序列。( )
正确
错误
使用sorted()函数可以给列表排序,参数reverse设置为True时,按从小到大排序;参数reverse设置为False时,按从大到小排序。( )
正确
错误
以下代码可以计算列表a中各元素(得分)的平均分。( ) 

a = [90, 80, 70, 60, 50] 

print( sum(a) / len(a) )

正确
错误
all([])和any([])的结果都是True。( )
正确
错误
列表中的pop()方法和del语句都能删除列表中被指定的元素。所以,如下4行代码运行之后,屏幕上将打印出 ['红','绿','蓝'],这个运行结果是对的。( )

list1 = ['红','绿','蓝','白','紫']

del list1[3]

list2=list1.pop(3)

print(list2)

正确
错误
如果

list1 = ['赵','钱','孙','李','周','吴','郑','王'],

那么:

list1[1:-4] 肯定与 list1[1:4] 相等。请判断对吗?( )

A.正确
B.错误
读以下程序代码,运行程序后,输出的是:发生了一个异常。( )

try:

    print(x)

except:

    print("发生了一个异常")

finally:

    print("请修改程序,再试一次!")

A.正确
B.错误

分解质因数

输入一个整数,分解质因数。例如:输入90,打印出90=2*3*3*5。请完善以下代码,运行程序。

target=int(input('输入一个整数:'))
print(target,'= ',end='')
if target<0:
    target=                   (target)
    print('-1*',end='')
flag=0
if target<=1:
    print(target,end='')
    flag=                  
while True:
    if flag:
        break
    for i in range(2,int(target+1)):
        if                    :
            print("%d"%i,end='')
            if target==i:
                flag=1
                break
            print('*',end='')
                              
            break

填空1    ____________
填空2    ____________
填空3    ____________
填空4    ____________

成绩系统

小王同学编写了一个成绩录入和查询系统,能实现输入多个互不相同的分数,自动进行从高到低排名,同时输入要查询的分数,可以获得相应同学的姓名。程序运行结果如下图所示,实现代码如下,请你补全空缺处。

n=int(input("请输入总人数:"))

name=[""]*n

score=[0]*n

#输入功能,分别输入姓名与分数

for i in range(n):

    name[i]=input("请输入第"+str(i+1)+"个人名:")

                      =int(input("请输入第"+str(i+1)+"个分数:"))

#排名功能

for i in range(n-1):

    for j in range(0,n-1-i):

        if score[j]                   score[j+1]:

            score[j],score[j+1]=score[j+1],score[j]

            name[j],name[j+1]=name[j+1],name[j]

print("——————各个同学分数排名如下——————")

print(name)

print(score)

#查询功能

i=0

                 

key=int(input("请输入要查询的分数:"))

b=-1

while i<=j and b==-1:

    m=(i+j)//2

    if score[m]==key:

        b=m

填空1    ____________
填空2    ____________
填空3    ____________
填空4    ____________
填空5    ____________

有下图左边名为“虚拟学校5年级学生数据.csv”的文件,要实现下图右边统计每位同学语、数、外三门学科的总分,小明编写了以下程序,请将红色  ①、②  两处的代码补充完整:

f = open('/data/                   ','r',encoding='utf-8')

i = 1
for line in f:
    s = ""
    a = line.strip("").split(",") 
    if i >= 2 :      #第一行是每列的标题,不用计算,要从第二行开始计算
        s = str(                   ) + ' 的总分为:' + str(int(a[5]) +int(a[6]) +int(a[7]) )
    i = i + 1
    print(s)
f.close()

填空1    ____________
填空2    ____________

38题 | 被引用0次

模板修改
使用此模板创建