2022年 NOC大赛 Python编程 创客智慧编程赛项【初赛】 竞赛真题 建议答题时长:60min
1. 单选题

运行以下代码,终端区会出现什么内容?

A

9

B

0

C

25

D

终端区会报错

2. 单选题

对于字典 d={'abc':1, 'qwe':2, 'zxc':3}, 现在 len(d) 这个语句的结果是什么呢?

A

6

B

3

C

12

D

9

3. 单选题

以下关于列表的表述中,错误的是?

A

我们可以使用 == 符号判断两个列表是否相同

B

Python 中的列表可以嵌套,形成二维列表

C

+ 号可以拼接两个列表

D

列表和字符串一样,都是不可变的

4. 单选题

以下选项中不符合 Python 语言变量命名规则的是?

A

I

B

3_1

C

_AI

D

TempStr

5. 单选题

以下选项中不是 Python 语言的保留字的是?

A

except

B

do

C

pass

D

while

6. 单选题

假设变量 string 中存储着一个字符串"编程竞赛",下面哪段代码可以获得 string 从右到左的第三个字符呢?

A

string[3]

B

string[-3]

C

string[:-3]

D

string[0:-3]

7. 单选题

关于 Python 语言的特点,以下选项描述正确的是?

A

Python 语言不支持面向对象

B

Python 语言是解释型语言

C

Python 语言是编译型语言

D

Python 语言是非跨平台语言

8. 单选题

将列表 [1, 3, 0, 4, 2, 6, 5] 进行排序,并将过程中的结果打印如下:

[1, 3, 0, 4, 2, 6, 5]

[1, 3, 0, 4, 2, 6, 5]

[0, 1, 3, 4, 2, 6, 5]

[0, 1, 3, 4, 2, 6, 5]

[0, 1, 2, 3, 4, 6, 5]

[0, 1, 2, 3, 4, 6, 5]

[0, 1, 2, 3, 4, 5, 6]

请问使用的是一下那种排序算法呢?

A

快速排序

B

冒泡排序

C

选择排序

D

插入排序

9. 单选题

random 库用来生成随机数的算法是?

A

平方取中法

B

线性同余法

C

梅森旋转算法

D

蒙特卡洛方法

10. 单选题

用割圆法绘制一个有 n 条边的正多边形时每次应旋转的角度是

A

180 / n

B

n

C

90

D

360 / n

11. 单选题

运行下方代码段,输出是 ()。

import turtle

def draw_rect(a):

    for i in range(4):

        turtle. forward(a)

        turtle.left(90)

for i in range(4):

    draw_rect(i * 50)

turtle.done()

A

B

C

D

12. 单选题

在 pygame 中,调整游戏画面帧数为 30 帧每秒的正确选项是

A

clock = pygame.time.Clock()

clock.tick(300)

B

clock = pygame.time.Clock()

clock.tick(30)

C

clock = pygame.time.Clock()

clock.update(30)

D

clock = pygame.time.Clock()

clock.display(30)

13. 单选题

在 animal_list = [['狮子', '老虎'], ['河马', '大象'], ['斑马', '长颈鹿']]这个二维列表中,以下哪句代码可以取出'斑马'这个元素?

A

animal_list[4]

B

animal_list[1][1]

C

animal_list[2][1]

D

animal_list[2][0]

14. 单选题

在 pygme 游戏设计中,检测两个矩形是否碰撞的方法是

A

colliderect()

B

collidepoint()

C

collidelist()

D

collidedict()

15. 单选题

以下程序的输出的 CSV 文件里,存储的内容是:( )

file = open('text.csv','w')

list =[ [90,87,93],[87,90,89],[78,98,97]]

b = []

for i in list:

    for j in i:

        b.append(str(j))

        file.write(','.join(b))

file.close()

A

[90,87,93,87,90,89,78,98,97]

B

90,87,93 87,90,89 78,98,97

C

 [[90,87,93], [87,90,89], [78,98,97]]

D

90,87,93,87,90,89,78,98,97

16. 单选题

下面的说法中,哪个是错误的?

A

and 语句表示的是两个条件同时成立才算成立

B

or 语句表示的是两个条件中只要有一个成立就算成立

C

and 语句和 or 语句都可以将两个条件连接起来

D

and 语句和 or 语句只能单独使用,不能混在一起用

17. 单选题

运行以下代码,终端区会出现什么内容?

a=0

b=0

while a < 3 or b < 5:

    print("晚安,依古比古')

    a=a+1

    b=b+1

A

晚安,依古比古

晚安,依古比古

B

晚安,依古比古

晚安,依古比古

晚安,依古比古

C

晚安,依古比古

晚安,依古比古

晚安,依古比古

晚安,依古比古

D

晚安,依古比古

晚安,依古比古

晚安,依古比古

晚安,依古比古

晚安,依古比古

18. 单选题

运行以下代码,终端区会出现什么内容? 

while 5 < 3:

        print("晚安,玛卡巴卡')

A

重复打印无数次【晚安,玛卡巴卡】

B

终端区什么都不会打印

C

只打印一次【晚安,玛卡巴卡】

D

重复打印 100 次【晚安,玛卡巴卡】

19. 单选题

下面的说法中,正确的是?

A

break 语句只能用来停止 for 循环

B

break 语句可以中断所有程序的运行

C

break 语句可以用来中断循环的语句

D

break 语句无法中断 while 语句

20. 单选题

运行这段代码,终端区会出现什么样的内容呢?

1f 10 > 11:

    print(111)

if 20 < 30:

    print(222)

A

111

B

222

C

111

222

D

什么都不会出现

21. 单选题

下面的语句中,哪个可以在终端区中打印出 True 呢?

A

print( 12 >= 56 )

B

print( 123 > 3 and 55 == '55')

C

print( 3 >= 5 )

D

print(123 > 3 or 55 == '55')

22. 单选题

如果要判断一个变量 lcm 是不是 num1 和 num2 的公倍数,判断条件可以怎么写?

A

lcm % num1 == 0 and lcm // num2 == 0

B

lcm // num1 == 0 and lcm // num2 == 0

C

lcm % num1 == 0 and lcm % num2 == 0

D

lcm // num1 == 0 and lcm % num2 == 0

23. 单选题

运行这段代码,终端区会出现什么内容呢?

for i in range(5):

    print(-i *2)

A

0

-2

-4

-6

-8

B

0

2

4

6

8

C

0

1

2

3

4

D

2

4

6

8

10

24. 单选题

这里有一个二维列表,运行以下代码,终端区会出现什么内容? 

fruit_list  [["桃子","苹果","芒果"],["装茅","香蕉","西瓜"]]

print(fruit_list[1])

A

'菠萝', '香蕉', '西瓜' 

B

'苹果' 

C

['桃子', '苹果', '芒果']

D

['菠萝', '香蕉', '西瓜']

25. 单选题

运行以下代码后,程序打印的结果是? 

num1= 10

num2= 15 

print(num2 // num1 + num2 % num1)

A

6

B

6.5

C

10

D

10.66

26. 单选题

运行下方代码殷,输出的结果是 ( )。

import turtle

turtle.pensize(3)

for i in range(1,5):

    r=i*20

    turtle.circle(r)

turtle.done()

A

B

C

D

27. 单选题

运行以下代码后,程序打印的最大结果可能是?

import random

nums = [5, 6,12, 1, 3,7, 2, 8]

num1 = random .choice( nums)

num2 = random.randint(2,5)

print(num1 + num2)

A

12

B

13

C

16

D

17

28. 单选题

下面哪个函数可以求出列表的个数 ?

A

str()

B

int()

C

len()

D

set()

29. 单选题

如果用外循环 for j in range(count) 代表冒泡排序比较的轮次,那么内循环 for i in range()应该每轮比较多少次呢?

A

i

B

count

C

i - j

D

count - j

30. 单选题

在 Python 中交换 a 和 b 的值,可以怎么做呢?

A

a = b, b = a

B

a, a = b, b

C

a, b = a, b

D

a, b = b, a

31. 单选题

下列选项中,数据类型是浮点型的是?

A

'7.0'

B

7

C

7.0

D

'7' 

32. 单选题

下列条件中,可以判断变量 a 等于变量 b 的条件是?

A

a = b

B

a >= b

C

a == b

D

a != b

33. 单选题

程序如下:

try:

    number = int(input("请输入数字:"))

    print("number:",number)

except Exception as e:

    print("打印异常详情信息: ",e)

else:

    print("else")

finally:

    print("finally")

    print("end")

我们输入内容“z2”,控制台打印的结果是:( )

A

number: 2

else

finally

end

B

number: 2

end

C

打印异常详情信息: invalid literal for int() with base 10:

finally

end

D

打印异常详情信息: invalid literal for int() with base 10:

else

finally

end

34. 单选题

多分支使用的关键字是?

A

if

B

if-else

C

if-elif-else

D

else

35. 单选题

执行 for i in range(5) 的循环,i 的值分别是多少?

A

1 2 3 4 5

B

0 0 0 0 0

C

5 5 5 5 5

D

0 1 2 3 4

36. 单选题

运行下面这段代码,输出的结果是?

a =123.4

print(type(a))

A

<class 'float'>

B

<class 'int'>

C

<class 'bool'>

D

<class 'complex'>

37. 单选题

代码 print( 10 / 2 == 5.0) 输出的结果是?

A

True

B

False

C

-1

D

0

38. 单选题

下列可以生成词云的库是?

A

jieba

B

wordcloud

C

beautifulsoup4

D

requests

39. 单选题

Python 中,用来定义函数的关键字是?

A

return

B

define

C

def

D

function

40. 多选题

对列表 m 与 列表 n 相同索引位置的元素求和。以下选项中正确的有?

m = [1,2,3]

n = [4,5,6]

A

res = []

for i in range(len(m)):

    res.append(m[i]+n[i])

B

import numpy as np

res = (np.array(m) + np.array(n)).tolist()

C

res = m + n

D

无正确答案

41. 多选题

字典内元素由哪两部分组成

A

B

C

变量

D

整数

42. 多选题

下列属于 python 保留字的是

A

if

B

for

C

where

D

import

43. 多选题

以下能够与 if 语句搭配使用的是

A

else if

B

elseif

C

else

D

elif

44. 多选题

下列变量名正确的是

A

a bc

B

_1abc

C

a1bc

D

1abc

45. 多选题

下列选项中,描述正确的是

A

/ 在代表运算中代表取整数。

B

关系运算符中 == 代表数学中的等号。

C

逻辑运算符中,“与”运算时“有 0 为 0,全 1 为 1”。

D

关系运算符中的输出结果是以 bool 形式出现,为 True 和 False。

46. 多选题

以下选项中,处理多个异常的代码,正确的有哪些?

A

try:

pass

except (ValueError、IndexError) as err:

print('Error: {}'.format(err))

print('continue')

B

try:

pass

except (ValueError, IndexError) as err:

print('Error: {}'.format(err))

print('continue')

C

try:

pass

except ValueError as err:

print('Error: {}'.format(err))

except IndexError as err:

print('Error: {}'.format(err))

print('continue')

D

try:

pass

except ValueError, IndexError as err:

print('Error: {}'.format(err))

print('continue')

47. 多选题

现在有一个字符串 s = 'abc123def',以下代码中能正确获得值 abc12 的代码有?

A

print(s[0:5])

B

print(s[:5])

C

print(s[:-4])

D

print(s[:-4:2])

48. 多选题

使用代码计算列表 maze 中有多少个 "1",代码正确的是

maze = [

[1,1,1,1,1,1,1,1,1], [1,0,1,0,0,0,0,0,1], [1,0,1,1,0,1,1,1,1], [1,0,0,0,0,1,0,0,1], [1,0,1,1,0,1,0,1,1], [1,0,0,1,0,0,0,0,1], [1,1,0,1,0,1,1,1,1],[1,0,0,1,0,0,0,0,1], [1,1,1,1,1,1,1,1,1], ]

A

count = 0

for i in maze:

    for j in i:

        count += j

print(count)

B

count = []

for i in maze:

    count.append(sum(i))

print(sum(count))

C

count = sum(maze)

print(count)

D

count = []

for i in maze:

    count.extend(i)

print(sum(count))

49. 多选题

在下面这段程序中,其中 k 取什么值时,x 的值是 3。

if k<=10 and k>0:

    if k >5:

        if k>8:

            x=0

        else:

            x=1

    else:

        if k>2:

            x=3

        else:

            x=4

A

3

B

4

C

5

D

6

50. 多选题

如果使用列表创建栈,需要用到的列表方法有

A

append()

B

insert()

C

index()

D

pop()

51. 多选题

下列属于比较运算符的有

A

>

B

<

C

=

D

!=

52. 多选题

下面属于 Python 中的保留字的有哪些

A

class

B

true

C

self

D

break

53. 多选题

在下列选项中,描述正确的有( )

s = input()

a = [s]

print(len(s) == len(a))

A

当输入字母'a',打印出 True

B

当输入字母'a',打印出 False

C

当输入字母'abc',打印出 True

D

当输入字母'abc',打印出 False

54. 多选题

以下表达式的值为 True 的是?

A

5 + 3 < 10

B

3 > 2 == 2

C

a - 5 > 5

D

4 == '4.0'

55. 多选题

运行下面这段代码,输出的结果是?

A

抽中的随机数是 1,今天是星期一

B

抽中的随机数是 2,今天是星期三

C

抽中的随机数是 5,今天是星期六

D

抽中的随机数是 7,今天是星期七

56. 多选题

现有 PAI = 3.1415926 作为浮点数变量,下列代码可以将 PAI 保留三位小数并输出的是?

A

print(f"{PAI:.5f}")

B

print(f"{PAI:0.3f}")

C

print(round(PAI, 3))

D

print(round(PAI))

57. 多选题

哪个选项对 turtle.done()的描述是正确的?

A

turtle.done()是用来隐藏 turtle 绘制画笔

B

turtle.done()用来停止画笔绘制

C

turtle.done()是用来在绘画结束后,保持绘画的窗口不关闭的

D

我们必须要在程序的最后写上 turtle.done(),不然程序运行会报错

58. 多选题

以下哪个 while 循环的使用方法是正确的?

A

while 5 > 3:

B

while num > 3:

C

while True:

D

while :

59. 多选题

关于 Python 的 lambda 函数,以下选项中描述正确的是?

A

lambda 用于定义简单的,能够在一行内表示的函数

B

可以使用 lambda 函数定义列表的排序原则

C

f = lambda x,y:x+y 执行后,f 的类型为数字类型

D

lambda 函数将函数名作为函数结果返回

60. 判断题

表达式 78 == '78' or '上' in '天天向上' 的结果是 True。

A 正确
B 错误
61. 判断题

以下代码

def my_func4(l2):

    l2 = l2 + [4]

l1 = [1, 2, 3]

my_func4(l1)

print(l1)

运行结果是 [1,2,3,4]

A 正确
B 错误
62. 判断题

鸡兔同笼问题中,总头数 10,总脚数有可能是 44

A 正确
B 错误
63. 判断题

运行程序段

num = input()

print(num+3)

当输入数字 10,输出结果为 13。

A 正确
B 错误
64. 判断题

正则表达式的字符 \d 与 \D 表示相同的含义

A 正确
B 错误
65. 判断题

count() 函数可以用来统计指定元素在列表中出现的次数

A 正确
B 错误
66. 判断题

在 Scratch 中,不能编写演奏音乐的程序。

A 正确
B 错误
67. 判断题

4.0 和 4 在 Python 中是同一种数据类型。

A 正确
B 错误
68. 判断题

101"这个内容在 Python 是一个字符串。

A 正确
B 错误
69. 判断题

in 是 Python 中的逻辑运算符。

A 正确
B 错误
70. 判断题

KMeans(n_clusters=3)中参数 3 的含义是将数据划分为 3 类。

A 正确
B 错误
71. 判断题

12 / 2 的运算结果是 6 。

A 正确
B 错误
72. 判断题

在 Python 中,1_food 是一个合法的变量名。

A 正确
B 错误
73. 判断题

条件判断语句可以让程序根据不同的情况做不同的事情

A 正确
B 错误
74. 判断题

在 name = '小明' 这句代码中,name 是变量的内容。

A 正确
B 错误
75. 判断题

函数是代码复用的一种方式。

A 正确
B 错误
76. 判断题

Python 字典中的“键”不允许重复。

A 正确
B 错误
77. 判断题

执行语句 from random import seed 之后,可以直接使用 randint() 函数。

A 正确
B 错误
78. 判断题

使用 input() 语句可以直接获得整数类型的数字。

A 正确
B 错误
79. 判断题

Python 标准库 random 的方法 randint(m,n)用来生成一个[m,n]区间上的随机整数。

A 正确
B 错误
80. 判断题

Python 变量名区分大小写,所以 student 和 Student 不是同一个变量。

A 正确
B 错误
试题目录
单选题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
多选题
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
判断题
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
赣ICP备20007335号-2