2022年9月Python编程等级考试试卷(四级)
分数:100  题数:38
一、单选题(共25题,共50分)
1.
下列不是评判一个算法优劣的标准是?( )
 
A. 
时间复杂度
B. 
空间复杂度
C. 
难易度
D. 
健壮性
2.
某自定义函数中使用了3个变量,其中2个变量都指定了默认值,调用该函数时,参数的个数
最少为几个( )
 
A. 
0
B. 
2
C. 
3
D. 
1
3.
Python中用于字符与其ASCII码相互转换的内置函数是?( )
 
A. 
float() abs()
B. 
pow() format()
C. 
ord() chr()
D. 
round() import()
4.
Python中,可以将数字类字符串转换成整数的函数是?( )
 
A. 
int( )
B. 
float( )
C. 
bool( )
D. 
class( )
5.
运行下列这段程序,正确的输出结果是?( )
LS = ["apple", "red", "orange"]
def funb(a):
    LS.append(a)
funb("yellow")
print(LS)
 
A. 
["apple","red","orange"]
B. 
["apple","red","orange","yellow"]
C. 
[]
D. 
["yellow"]
6.
下列代码的输出结果是?( )
def func(a, b):
    c=a**2+b
    b=a
    return c
a=10
b=2
c=func(b,a)+a
print(c,b)
 
A. 
102 2
B. 
24 10
C. 
24 2
D. 
102 10
7.
下列关于函数返回值的描述正确的是?( )
 
A. 
函数可以没有返回值,也可以有一个或多个返回值
B. 
函数定义中最多含有一个return语句
C. 
在函数定义中用return语句时,至少给一个返回值
D. 
函数中 return语句只能放在函数定义的最后
8.
运行下列这段程序,正确的输出结果是?( )
def reverseA(s):
    t=""
    for i in range(0,len(s)):
        t=s[i]+t
    return t
print(reverseA("reverse"))
 
A. 
esrever
B. 
reverse
C. 
rsereve
D. 
rseveer
9.
下列导入pandas模块的方法不正确的是?( )
 
A. 
import pandas
B. 
import pandas as p
C. 
import pandas *
D. 
from pandas import *
快速排序python实现
10.
Python中提供了大量的标准库模块,比如利用time模块可以获取计算机的时钟信息,
包括日期和时间,若想要实现延时1分钟,则应该使用的语句是?( )
 
A. 
sleep(3600)
B. 
time.time(60)
C. 
time.asctime(1)
D. 
time.sleep(60)
11.
使用分治算法的基本步骤是?( )
 
A. 
分解、解决、合并
B. 
分解、解决
C. 
合并、解决
D. 
合并、解决、分解
12.
二分查法是运用哪种策略实现的算法?( )
 
A. 
分治法
B. 
贪心法
C. 
回溯法
D. 
动态规划法
13.
下列程序是分治算法的典型应用,其运行结果是?( )
def dividAndConquer(arr,left,right): 
    if (right == left + 1) or (right == left): 
        return max(arr[left],arr[right]) 
    mid = int((left + right) / 2) 
    leftMax = dividAndConquer(arr,left,mid) 
    rightMax = dividAndConquer(arr,mid,right) 
    return max(leftMax,rightMax) 
arr1 = [8, 1, 14, 19, 5] 
print(dividAndConquer(arr1,0,4))
 
A. 
1
B. 
19
C. 
8
D. 
5
14.
下列程序输出的结果是?( )
def change(a,b):
    a=10
    b+=a
a=4
b=5
change(a,b)
print(a,b)
 
A. 
4 5
B. 
10 5
C. 
4 15
D. 
10 15
15.
下列程序运行的结果是?( )
def a():
    print("here")
b()
a()
def b():
    print("there")
a()
b()
 
A. 
出错
B. 
死循环
C. 
here
D. 
here
there
16.
设函数f定义如下:
def f(x,y = 0):
    pass
下列选项执行时,出现错误的是?( )
 
A. 
f(,2)
B. 
f(1,2)
C. 
f(1)
D. 
f(1,)
评价描述:
17.
下列程序段运行的结果是?( )
def check(x = 2,y = 3):
    print(x,y) 
check(y=6,x=5)
 
A. 
5 6
B. 
6 5
C. 
2 3
D. 
3 2
18.
def AddApple(fruit=None):
    if fruit is None:
        fruit=[]
    fruit.append('Apple')
    return fruit
AddApple()
AddApple()
print(AddApple(['Pear']))
以上程序段运行的结果是?( )
 
A. 
['Pear','Apple']
B. 
['Pear','Apple','Apple']
C. 
['Apple','Pear','Apple','Apple']
D. 
['Apple']
19.
def ThankYou(name):
    print("感谢%s对公司的贡献!" %name)
ThankYou('张三')
ThankYou()
以上程序运行的结果是?( )
 
A. 
打印输出:感谢张三对公司的贡献!
然后报错:TypeError: ThankYou() missing 1 required positional argument: 'name'
B. 
打印输出:
感谢张三对公司的贡献!
感谢对公司的贡献!
C. 
无法输出。
D. 
需要增加main函数才能正确运行。
20.
编写程序计算1+1/2+1/3+……+1/n的结果,可以使用哪种调用函数自身的算法?( )
 
A. 
枚举
B. 
递归
C. 
解析
D. 
分治
21.
用下面的程序求解计算s=1+3+5+7+9的值,请选择横线处应填写的代码?( )
def Sum(n):
    if n<=1:
        return 1
    else:
        return ________
print(Sum(9))
 
A. 
n+Sum(n-1)
B. 
n+Sum(n+1)
C. 
n+Sum(n+2)
D. 
n+Sum(n-2)
22.
下列选项中,哪一项不是递归函数必须要具备的条件?( )
 
A. 
明确的边界条件
B. 
边界值
C. 
循环语句
D. 
终止条件
23.
用递归算法实现5的阶乘,则下方的程序中横线上需要的代码是?( )
def func(n):
    if n<_______:
        return func(n+1)*n
    else:
        return 1
print(func(1))
 
A. 
4
B. 
5
C. 
6
D. 
7
24.
执行以下代码,程序的输出结果是?( )
def weight(n):
    if n==1:
        return 100
    else:
        return weight(n-1) +10
print(weight(3))
 
A. 
100
B. 
110
C. 
120
D. 
130
25.
以下关于递归与递推的说法,错误的是?( )
 
A. 
递归算法不涉及高深的数学知识,比较容易理解。
B. 
递归过程一般通过函数或子过程来实现。
C. 
递归算法是递推分解问题,然后再将最简单情况的解回归成大问题的解。
D. 
存在既可以用递归算法解决,也可以用递推算法解决的问题。
二、判断题(共10题,共20分)
26.
函数中return语句只能放在函数定义的最后。( )
 
正确 
错误 
 
27.
Python定义函数时如果没有参数,也不能省略后面的空括号。( )
 
正确 
错误 
 
28.
函数的参数分为形参和实参两种,函数调用中实参和形参的值可以互相传递。( )
 
正确 
错误 
 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。