试卷 2024年NOC大赛软件创意编程Python初中组初赛模拟真题
2024年NOC大赛软件创意编程Python初中组初赛模拟真题
单选题
第 1 题    单选题
下面的程序,会无限循环下去的是( )
A.
for a in range(10000):  
    time.sleep(10)
B.
var = 1
while var == 1:
  n = input("请输入一个数")
  print(n)
var += 10
C.
while True:
    break
D.
a = [3,-1,',']
for i in a[:]:
    if 3 not in a:
        break
第 2 题    单选题

执行完下面代码后,输出的结果为( )

ls = [6, 1, 8, 6, 9, 6]
n = len(ls)
for i in range(n):
    for j in range(i+1,n):
        if ls[j]>ls[i]:
            tmp = ls[i]
            ls[i] = ls[j]
            ls[j] = tmp
print(ls)
A.
[6,6,8,6,9,1]
B.
[1,6,6,6,8,9]
C.
[9,8,6,6,6,1]
D.
程序报错无输出
第 3 题    单选题

使用字典统计字符串中每个字符出现的次数,横线上应该填写的代码是

dic = {}
for c in 'an apple a day keeps the doctor away':
    dic[c] = __________
print(dic)
A.
dic[c]+1
B.
dic.get(c)+1
C.
dic.get(c,1)
D.
dic.get(c,0)+1
第 4 题    单选题

阅读下面的代码,正确的输出是( )

x = ['N','O','C']
for i in x:
    x.append(i.lower())
print(x)
A.
['n','o','c']
B.
['N','O','C','n','o','c']
C.
['N','O','C']
D.
程序进入死循环,没有输出
第 5 题    单选题

阅读下面程序,假设键盘输入666,正确的输出是( )

number = input()
str(number)
int(number)
print(number+number)
A.

666

B.

1332

C.

666666

D.
13321332
第 6 题    单选题

某位初出茅庐的python初学者写出如下代码,程序执行后输出结果为

m = 2
if m//3 != 0:
    print(m,'不能被3整除')
else:
    print(m,'能被3整除')
A.
2 能被3整除
B.
m 不能被3整除
C.
2 不能被3整除
D.
m 能被3整除
第 7 题    单选题
已知字符串s='? an you ?an a ?an as a ?anner ?an?an a ?an'为被破坏的英文绕口令,想要复原绕口令,就需要将字符串中的'?'替换为字母'c',能实现这个功能的代码是( )
A.
s = split('?')
B.
s = split('?','c')
C.
s = s.replace('c','?')
D.
s = s.replace('?','c')
第 8 题    单选题
python表达式8-3**2%5( )
A.

-19

B.

0

C.

2

D.

4

第 9 题    单选题

阅读以下程序,请问运行结束后会显示的是( )

x, y, z = 10, 20, 40
x, y = z/x, z-y
z = x*y
print(z)
A.
80.0
B.

40.0

C.

20.0

D.

10.0

第 10 题    单选题
在Python中,专门用于生成随机数的库是( )
A.
random
B.
math
C.
os
D.
sys
第 11 题    单选题
现有一个名为data的字典,要获得键为'name'所对应的值,正确的代码是( )
A.
data(name)
B.
data('name')
C.
data['name']
D.
data.key('name')
第 12 题    单选题
对列表中的元素进行排序,应该使用哪个Python内置函数( )
A.
sorted()
B.
max()
C.
abs()
D.
sum()
第 13 题    单选题
想要在python中打开文件,在文件末尾添加新的内容,横线上应该填写的是( )
A.
'r'
B.
'w'
C.
'a'
D.
'x'
第 14 题    单选题
在Python中,以下哪个表达式可以将字符串'123'中的每个字符转换为对应的ASCII码值,并以列表形式返回?( )
A.
[ord(c) for c in '123']
B.
[ascii(c) for c in '123']
C.
[chr(c) for c in '123']
D.
[str(c) for c in '123']
第 15 题    单选题

下列Python代码,在输入5时输出'Five'的是( )

A.
x = input()
if x==5:
    print('Five')
B.
x = input()
if x=5:
    print('Five')
C.
x = input()
if x=='5':
    print('Five')
D.
x = input()
if x='5':
    print('Five')
第 16 题    单选题

执行下面代码,最终输出的结果是( )

m, n = 6, 88
def fn(n):
    global m
    m += 100
    n = 100
    return m
print(m,fn(n),n)
A.
6 88 88
B.
106 106 88
C.
6 106 88
D.
6 106 100
第 17 题    单选题

已知字符串s='Data Science',提取单词'Data'的选项是( )

A.
s[0:3]
B.
s[:4]
C.
s[5:]
D.
s[1:4]
第 18 题    单选题
以下不属于冯·诺依曼体系计算机组成部分的是( ) 
A.

逻辑器

B.
运算器
C.
存储器
D.
控制器
第 19 题    单选题

已知变量赋值如下,以下选项中,结果为False的是( )

x = 15
y = 12
A.
x>0 and y<15
B.
x<20 or y>15
C.
not(x<20) and y==12
D.
not(y!=12) or x <=15
第 20 题    单选题
Python中的列表可以同时保存多个数据,下列数据可以作为列表中的元素保存的是( )
A.
字符串
B.
整数
C.
列表
D.
以上都可以
判断题
第 21 题    判断题

下面的程序输出的结果和原字符串一样( )

s = '上海自来水来自海上'
print(s[:-1:])
A.
正确
B.
错误
第 22 题    判断题
表达式 'abc' in 'aaabbbccc' 的结果是True( ) 
A.
正确
B.
错误
第 23 题    判断题
ls.pop()指令默认删除列表中的第一个元素,并返回它的值( ) 
A.
正确
B.
错误
第 24 题    判断题

下面Python代码执行后将输出[10,15,20]( )

ls = []
for i in range(10,20,5):
        ls.append(i)
print(ls)
A.
正确
B.
错误
第 25 题    判断题
Python字符串是不可变数据类型,一旦创建不能直接修改( )
A.
正确
B.
错误
多选题
第 26 题    多选题

(多选)阅读下面代码,说法正确的是?

def transform(myls):
    tmp_ls = []
    for num in myls:
        if num > 0 and num % 2 == 0:
            tmp_ls.append(num ** 2)
        elif num > 0 and num % 2 != 0:
            tmp_ls.append(num + 3)
        elif num < 0:
            tmp_ls.append(num * -1)
    return tmp_ls
    
ls = [-2,2,3,-4,0,5,6]
print(transform(ls))
A.
输出的结果中全是正数
B.
输出的结果中含有数字0
C.
输出的结果全是偶数
D.
输出的结果中重复出现了两次的数是8
第 27 题    多选题

(多选)列表中存储了中国神话中的五大神龙的名字,请问执行下面程序后,输出的结果含有哪些龙?

ls = ['烛龙','蟠龙','青龙','应龙','苍龙']
for i in range(2):
    ls.pop(i)
print(ls)
A.
烛龙
B.
蟠龙
C.
青龙
D.
应龙
第 28 题    多选题
(多选)下面的代码执行后能输出"NOC!"的是( )
A.
print('2024-NOC!'[-4:])
B.
print('2024-NOC!'[4:])
C.
print('2024-NOC!'[-4::])
D.
print('2024-NOC!'[4:-1])
第 29 题    多选题
以下哪些变量名是有效的( ) 
A.
my_1
B.
1_list
C.
$book
D.
_noc
第 30 题    多选题
(多选)导入海龟画笔库,起名为t,下列代码运行后,界面上显示正方形的是( )
A.
for _ in range(4):
    t.forward(100)
    t.right(90)
B.
for i in range(2):
    for j in range(4):
        t.forward(100)
        t.left(90)
C.
n = 5
for i in range(n):
    t.forward(100)
    t.left(360/n)
D.
for i in range(1,8,2):
    t.forward(-100)
    t.left(-90)
填空题
第 31 题    填空题

阅读下面代码,输出的结果是( )

ls = [x for x in range(9,0,-1)]
x = ls.index(4)
n = ls[-1] * x
print(n)
第 32 题    填空题

阅读下面代码,输出的结果是( )

cnt = 0
for i in range(30):
    if i % 2:
        continue
    else:
        if i % 3 == 0 and i % 5 == 0:
            break
    cnt += i
print(cnt)
第 33 题    填空题

运行以下代码,在键盘输入'NOC',则输出的结果是( )

s = input()
s1 = ''
for c in s:
    s1 = chr(ord(c)+32) + s1
print(s1)
第 34 题    填空题

阅读下面代码,输出的结果是( )

n = len('2023,2024,2025'.split(','))
print(n)
第 35 题    填空题

阅读下面代码,输出的结果是( )

def f(n):
    if n <= 1:
        return n
    return f(n-2)*2 - f(n-1) + n
print(f(5))
第 36 题    填空题

以下程序,输出的结果是( )

mydict = {'小明':95,'小红':100}
score = mydict.get('小白',0)
print(score)
第 37 题    填空题

下面程序,重复执行6次循环,横线上需要填写的1个数是__

for i in range(2024,______):
    print(i)
第 38 题    填空题

Python面向对象程序中,定义一个类的关键字是:__

第 39 题    填空题

Python中的列表能够存储许多数据。如下list1列表存储了许多成语,现在想要找出所有第一个字为'天'的成语,并存储到list2列表。

list1 = ['霸王别姬','天长地久','皆大欢喜',
        '两小无猜','掌上明珠','偷天换日',
        '天上人间']
list2 = []
for s in list1:
    if ______ == '天':
        list2.append(s)
print(list2)
第 40 题    填空题

以下程序模拟了用户登录功能,当用户输入的用户名和密码分别为noc2024和123456时,输出'登入成功',否则输出'登入失败'。

username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'noc2024' and password == _____:
    print('登入成功')
else:
    print('登入失败')
答题卡
单选题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
判断题
多选题
填空题
题目总数:40
总分数:100
时间:60分钟