选择题 共25道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25


判断题 共10道

26 27 28 29 30 31 32 33 34 35


编程题 共3道

36 37 38

262 | 202103Python四级真题-考试
选择题 共25道
01

不超过100个元素的有序数列,使用二分查找能找到指定的元素,可能的查找次数不包括?

2分
登录后查看选项
02

运行以下代码,正确的打印结果是?

def f():

c=0

for i in range(4,51,4):

if i%6==0:

c=c+1

return c

print(f())

2分
登录后查看选项
03

10个人站一列,分苹果,问第10个人分到多少个苹果,他说比前面一个人多分到2个,依次往前,都说比前面一个人多分到2个,最后问第一个人,他说分到10个苹果。用以下函数求第10个人分到的苹果数,则应补充选项为?( )

def  apple(n):

if n == 1:

return 10

else:

return                  

print(apple(10))

2分
登录后查看选项
04

观察程序段,以下说法错误的是?

def fib(n):

if n==1 or n==2:

s=1

else:

s=fib(n-1)+fib(n-2)

return s

m=int(input("请输入m的值(m>2):"))

print(fib(m))

2分
登录后查看选项
05

关于python函数参数的说法正确的是?

2分
登录后查看选项
06

关于递归与递推方法的比较,错误的观点是?

2分
登录后查看选项
07

运行以下代码,输出结果正确的是?

a=1

b=c=[]

def fun(a,c):

a=2

c.append(a)

fun(a,c)

print(a,b,c)

2分
登录后查看选项
08

关于Turtle库的表述中,错误的是?

2分
登录后查看选项
09

100枚金币,其中有1枚轻1克的假金币,现在要找出这枚假金币,但身边只有1个没有刻度的天秤。小明先是将金币分成50枚一堆,共两堆称重,在轻的那一堆中又分成两堆,接着在轻的25枚中分成12,12,1三堆称重,若两堆12枚的重量相同,则假币为单独剩下的那一枚,否则在轻的那一堆中继续按照之前的办法称下去,直到找到假金币。请问小明采用的办法与哪个算法有着相似之处?

2分
登录后查看选项
10

运行以下代码,正确的打印结果是?

def f(s):

t=0

max=0

for i in s:

if i>="0" and i<="9":

t=t+1

else:

if t>max:

max=t

t=0

print(max)

list="123ab45cd6d"

f(list)

2分
登录后查看选项
11

下列关于函数的描述正确的是?

2分
登录后查看选项
12

调用以下函数时,语句“s=s+i”被执行的次数是?

def f():

   s=0

   i=1

   while i<10:

       if i%3==0 or s%2==1:

           s=s+i

       i=i+1

   print(s)

2分
登录后查看选项
13

已知有n本按照书名拼音排序好的图书,使用对分查找法搜索其中任何一本书,最多查找次数为6次,则n的值可能为?

2分
登录后查看选项
14

某程序代码设计如下,若输入整数5,则最终输出的结果为?

def fact(x):

if x==1:

s=1

else:

s=fact(x-1)*x

return s

n=int(input("请输入一个大于1的整数:"))

print(fact(n)+fact(n-1))

2分
登录后查看选项
15

用匿名函数方式求两个数中较大的数,下列定义语句格式正确的是?

2分
登录后查看选项
16

下列程序段的正确运行结果是?

def fun(m,n):

   while m!=n:

       if m>n:

           m=m-n

       else:

           n=n-m

   return m

print(fun(24,16))

2分
登录后查看选项
17

运行下列程序,输出结果正确的是?

def fun(x,y=5):

   return x*y

a=fun(10,10)

print(a)

2分
登录后查看选项
18

如果需要在某函数内部调用上一层的局部变量,则可以使用( )关键字

2分
登录后查看选项
19

Python程序中,设已定义函数op,它有一个整型传值参数,一个字符串型传值参数。设x,y为整型变量,z为字符串型变量,则下列能调用该函数的正确语句是?

2分
登录后查看选项
20

下列哪个语句段的时间复杂度最低?

2分
登录后查看选项
21

下列哪个不是Python中的内建函数?

2分
登录后查看选项
22

关于函数的定义语句,以下几项中正确的是?

2分
登录后查看选项
23

下列关于递归的描述不正确的是?

2分
登录后查看选项
24

下列哪个不是Python第三方库的pip安装方法?

2分
登录后查看选项
25

对于下列递归式子,当n=4时,F的值是?

F(n)=F(n-1)+3    F(1)=2

2分
登录后查看选项
判断题 共10道
26

def add(a, b, c=0):

return a+b+c

print(add(1, 2, 4))

这段程序的运行结果为3。

2分
登录后查看选项
27

算法复杂度分析的目的是分析算法的效率,以求改进。

2分
登录后查看选项
28

sum=0

for i in range(5):

sum=sum+i

print(sum)

运行以上程序,输出结果是15。

2分
登录后查看选项
29

已有函数def demo(*p):return sum(p),表达式 demo(1, 2, 3, 4) 的值为10。

2分
登录后查看选项
30

使用python -m pip install --upgrade pip命令能够升级pip。

2分
登录后查看选项
31

python函数中,局部变量不能与全局变量重名。

2分
登录后查看选项
32

下列程序段返回的值为“Hello!Python”。

lst="Hello!Python"

def f():

   global lst

   lst="Hello!"

   return lst

f()

print(lst)

2分
登录后查看选项
33

使用分治算法求解,子问题不能重复

2分
登录后查看选项
34

设计一个程序来求xnx的几次方)的值,算法思想是:把xn转换为x*xn-1,而xn-1又可以转换为x*xn-2,如此重复下去,直到x*x0,而x0=1,从而求出了xn的值。这个程序可以用递归来实现。

2分
登录后查看选项
35

下列程序段能正确打印1。

def f(a,b):

   a=a+b

   b=a-b

   a=a-b

   return b

print(F(1,4))

2分
登录后查看选项
编程题 共3道
36

利用分治思想,给定一个顺序表,编写一个求出其最大值的程序。

根据上述算法思想,补全下列代码。

输入输出示例:当顺序表是 [22,13,34,4,68,15,5,58,36],输出:68

 

def fun_max(num=list):

    return max(num)

def fun(num):

    n =       

    if n <= 2:

        return       

    l_list, r_list = num[:n//2], num[n//2:]

    l_max, r_max =       

    return fun_max(      )

if __name__ == "__main__":

    alist = [22,13,34,4,68,15,5,58,36]

    print(fun(alist))

10分
登录后作答
37

现有n个人依次围成一圈玩游戏,从第1个人开始报数,数到第m个人出局,然后从出局的下一个人开始报数,数到第m个人又出局,...,如此反复到只剩下最后一个是胜利者。设n个人的编号分别为12...n,打印出局的顺序。

根据上述算法思想,补全下列代码。

输入输出示例:当n=10m=4,输出如下:

出局的人是: 4

出局的人是: 8

出局的人是: 2

出局的人是: 7

出局的人是: 3

出局的人是: 10

出局的人是: 9

出局的人是: 1

出局的人是: 6

最后胜利者是: 5

 

def fun(n,k):

    L = list(      )

    if n == 1:

        return

    else:

        x = 0

        for i in       

            x =      - 1

            print('出局的人是:',L[x])

            del L[x]

            if x < 0:

                x = 0

        print('最后胜利者是:',      )

fun(10,4)

10分
登录后作答
38

设计一个算法,将一个正整数分解质因数。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

                    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,输出即可。

                    (2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。

                    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

根据上述算法思想,补全下列代码。

输入输出示例:当n=105,输出:105= 3*5*7

                      当n=60,输出:60= 2*2*3*5

def fun(n):

    print('%d='%n,end=' ')

    for i in       :

        while n!=i:

            if n>i and      :

                print(i,end='*')

                      

            else:

                break

        else:

                  

            break

if __name__ == "__main__":

    while True:

        num=input("输入一个正整数:")

        if not num.isdigit():

            break

        fun(int(num))

10分
登录后作答