选择题 共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

263 | 202106Python四级真题-考试
选择题 共25道
01

对自然数1n求和,如果将递推式f(n)=f(n-1)+n(n>1)转化成递归函数,则递归出口是?

2分
登录后查看选项
02

对比两个求等差数列1+2++n的和的程序,其算法效率?

程序1

n=int(input())

s=(1+n)*n/2

print(s)

程序2

n=int(input())

s=0

for i in range(n+1):

   s=s+i

print(s)

2分
登录后查看选项
03

若以下程序段的运行结果为“*#*#*”,则空格   (1)   、   (2)   处填写结果不可能为?

def f(n):

   s=""

   for i in range(     (1)     ,n):

       if i % 2==1:

           s=s+"*"

       else:

           s=s+"#"

   return s

print(f(     (2)     ))

2分
登录后查看选项
04

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子。假如兔子都不死,要求输出一年内兔子的数量是多少。如果采用递归算法来编程,则核心的递归逻辑应该是?

2分
登录后查看选项
05

下列程序使用了哪种算法?

def fact(n):

   if n==0:

       return 1

   else:

       return n*fact(n-1)

2分
登录后查看选项
06

以下几项关于函数的说法,错误的是?

2分
登录后查看选项
07

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

2分
登录后查看选项
08

下列哪项不是分治算法所具有的特征?

2分
登录后查看选项
09

以下能正确计算出“1+3+5!”值(n!=1x2x3xn)的自定义函数是?

2分
登录后查看选项
10

下面关于递归算法的描述,错误的是?

2分
登录后查看选项
11

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

2分
登录后查看选项
12

以下程序是用什么算法思维来显示数列 147101316

a=1

for i in range(6):

   print(a)

   a+=3

2分
登录后查看选项
13

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

def f(a,b):

   c=a**2+b

   b=a

   return c

a=5

b=100

c=f(a,b)+b

print(c)

2分
登录后查看选项
14

安装wheelwheel用于离线安装已经下载到本地的whl文件,可以在命令窗口直接运行?

2分
登录后查看选项
15

下列选项中,哪个选项调用如下函数会报错?

def show(numbers):

   for n in numbers:

       print(n)

2分
登录后查看选项
16

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

def demo(lst, k):

   if k<len(lst):

       return lst[k:]+lst[:k]

lst=[1,2,3,4,5,6]

print(demo(lst,4))

2分
登录后查看选项
17

在解决问题过程中,常用的“二分法”是一种什么算法?

2分
登录后查看选项
18

Python Shell提示符下输入以下哪个选项,回车后,再输入pi,回车,能得到数值3.141592653589793

2分
登录后查看选项
19

下列程序段中自定义函数do(n)的作用是?

def do(n):

   s=0

   f=1

   for i in range(1,n+1,2):

       s=s+1/i*f

       f=-f

   return s

print(do(10))

2分
登录后查看选项
20

下列几个选项中,不是Python定义函数规则的是?

2分
登录后查看选项
21

以下哪项不是使用分治法解决问题的步骤?

2分
登录后查看选项
22

Python中,调用下面函数的返回值为?

def fun():

    x=101

2分
登录后查看选项
23

下列哪个选项的返回值与其他三项不同?

2分
登录后查看选项
24

下列哪个是正确的函数名?

2分
登录后查看选项
25

以下函数的返回值是?

def pic(a:int,b:str)->str:

   c=a*b

   print(c)

   return c

pic(5,*#*)

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

递归方法的运用不仅会简化主程序的设计,也会大大减少程序的代码量。

2分
登录后查看选项
27

Python中定义函数时不需要声明函数的返回值类型。

2分
登录后查看选项
28

Python程序是模块化架构,以.py的文件可以作为一个模块被引用。一些Python爱好者和支持者开发和分享了大量扩展库(包),可以根据需要用包管理器来安装或自定义,体现了Python语言强大的扩展性。

2分
登录后查看选项
29

通常问题的规模越大算法执行的时间就越长,算法执行时间的增长率和问题规模的增长关系,称为空间复杂度。

2分
登录后查看选项
30

将一个大问题分解为若干子问题,且子问题与大问题是相同的问题,就构成了递归。

2分
登录后查看选项
31

将一个大问题分解为若干子问题,且子问题与大问题是相同的问题,就构成了递归。

2分
登录后查看选项
32

已知大写字母“A”对应的ASCII码值为65,变量ch保存输入的大写英文字母,则语句chr((ord(ch)+1-ord("A")) % 26+ord("A"))能实现大写英文字母后移一位,如AB, BC, ……YZ, ZA

2分
登录后查看选项
33

下列程序段运行后,打印结果为9

def f():

   s=0

   for i in range(3,1,-1):

       if i<=1:

           x=1

       if i<=2:

           x=2

       if i<=3:

           x=3

       s=s+x

   return s

print(f())

2分
登录后查看选项
34

可以统计字符串、列表、元组、字典等内某元素个数的Python内置函数是index()

2分
登录后查看选项
35

判断下列代码的正确与错误。

def f(a,b,c):

   print(a+b,b,c-a)

f(8,b=2,6)

运行上述程序段,结果为10  2  -2

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

质数是一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。下面的程序设计中,先自定义一个函数,用来判断一个数是否为质数。然后,通过键盘输入一个数,调用所编写的函数,判断该输入的数是否为质数。请根据上述设计思想,完成程序段中划线处的填空。

 

def findprime(m):

    for i in range(2,m):

        if _______:

            return False     

        else:

            return ________

n = int(input('请输入一个数:'))

if  _______:

    print("该数是质数.")

else:

    print("该数不是质数.")

10分
登录后作答
37

随机生成的10个在[1,100)范围内整数存入列表;输入一个待查找的整数k,运用二分法在列表中查找k,根据查找状态输出对应的结果,请将程序补充完整。

from random import randint

def b(s,v):

    top=0

    last=len(s)

    while  _

        mid=(top+last)//2

        if v==s[mid]:

            return mid

        elif v>s[mid]:

             _

        elif v<s[mid]:

            last=mid-1

    return None

 

s=[randint(1,100) for i in range(10)]

s.sort()

print(s)

k=int(input())

ans=b(s,k)

if  _

    print('找到,下标是:',ans)

else:

    print('没有找到这个数!')

 

运行结果1

[13, 25, 27, 41, 52, 66, 67, 69, 72, 75]

72

找到,下标是: 8

 

运行结果2

[9, 15, 16, 19, 27, 31, 43, 64, 84, 93]

20

没有找到这个数!

10分
登录后作答
38

有一群兔子,44个地数余1个,55个地数余2个,99个地数余7个,试问兔子有多少只?(请将程序补充完整)

 

def   

    while  

        if n%5==2:

            break

        n+=9

 

    while True:

        if  

            break

        n+=45

    print(n)

f(16)

10分
登录后作答