2023年5月青少年软件编程Python等级考试四级真题(含答案和解析)

2023年5月电子学会Python考试真题含答案和解析

分数:100      题数:38

一、单选题(共25题,共50分)

1. 下列程序段的运行结果是?( A )

def s(n):

    if n==0:

        return 1

    else:

        return n +s(n-1)

print(s(7))

A. 29

B. 27

C. 1

D. 0

答案解析:递归公式。

2. 当n为6时,运行下列Python程序后的结果是?( B )

def f(n):

    if n<=2:

        return 1

    else:

        return f(n-1)+f(n-2)

n=int(input("请输入一个正整数:"))

print(f(n))

A. 5

B. 8

C. 11

D. 13

答案解析:每一项为前两项之和。

3. 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。问第n年的时候,共有多少头母牛?由递推法可推测,当年数小于等于4的时候,第几年就是有几头牛,即a[1]=1;a[2]=2;a[3]=3;a[4]=4。当n大于4的时候,这时候第一年出生的那个小母牛就也可以生出小母牛了,也就是该考虑小母牛是否可以生了,所以n>4的时候,a[n]=?( A )

A. a[n-1]+a[n-3]

B. a[n-1]+a[n-4]

C. a[1]+a[3]

D. a[-1]+a[-3]

答案解析:前四年共有四只,从第五年开始,第二年出生的小母牛也会生一只母牛(而且以后每年初都会生一只母牛),加上第一年那只母牛生的小母牛,共有六只母牛;第六年的时候得加上第三年那只母牛生的母牛,共九只母牛;依次类推。

4. 二分查找又称折半查找,下列数列中适合二分查找算法的是?( D )

A. 11 99 4 25 3 39

B. 43 71 78 81 6 55

C. 67 62 68 4 1 17

D. 85 78 59 53 19 18

答案解析:根据二分查找的实现原理,首先数列元素必须是有序的。

5. 在32枚崭新的金币中,有一枚外表与真金币完全相同的假币(质量小一点),现在只有一台天平,则应用二分法的思想最多称几次就可以发现这枚假币?( B )

A. 4

B. 5

C. 6

D. 7

答案解析:二分查找法,每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。

6. 已知在某程序中,有一个全局变量名为a。在程序中的某个函数中,再次定义了一个变量a,且该变量非组合类型变量。

下面哪个说法是对的?( B )

A. 如果在该函数中将a声明为global,则对a的操作与全局变量a无关。

B. 如果在该函数中未将a声明为global,则对a的操作与全局变量a无关。

C. 如果在该函数中未将a声明为global,则对a的操作即为对全局变量a的操作。

D. 不管在该函数中是否将a声明为global,对a的操作都是对全局变量a的操作。

答案解析:未声明为global,就是局部变量,因此与全局变量a无关。

7. 对于程序中的列表来说,哪个选项中的参数填写在range()中的横线上,算法执行效率最高?( C )

a=[1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1]

for i in range _____:

    if a[i]==1:

        print(i)

A. (0,16,1)

B. (0,16,2)

C. (0,16,3)

D. (0,16,4)

答案解析:数据变化的步长为3。

  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

有个仙侠梦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值