image

编辑人: 独留清风醉

calendar2025-06-11

message7

visits746

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)

参考答案:36


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)

参考答案:145


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

s = input()
s1 = ''
for c in s:
    s1 = chr(ord(c)+32) + s1
print(s1)

参考答案:运行代码后,如果键盘输入'NOC',则输出的结果是'nnooc'。


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

n = len('2023,2024,2025'.split(','))
print(n)

参考答案:输出结果为:3


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

def f(n):
    if n <= 1:
        return n
    return f(n-2)*2 - f(n-1) + n
print(f(5))

参考答案:输出结果是25


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

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

参考答案:0


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

for i in range(2024,______):
    print(i)

参考答案:横线上需要填写的数是:2030。


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

参考答案:在Python面向对象程序中,定义一个类的关键字是 `class`。


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

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

参考答案:```pythonfor s in list1:if s[0] == '天':list2.append(s)print(list2)```


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

username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'noc2024' and password == _____:
    print('登入成功')
else:
    print('登入失败')

参考答案:根据题目,应该填入密码123456。


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2024年NOC大赛_Python软件创意编程赛项_初赛_初中组真题参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share