2021年NOC马拉松初中组初赛

NOC·核桃编程马拉松初赛 Python 题目解析

(初中组)

选择题

1、下列哪个符号可以用来修改变量的值?( )

A、>=

B、- C、==

D、=

答案:D

csharp 复制代码

2、关于 print 语句,下列选项能够正确输出的是?( )

A、print('Hello~2021 年!')

B、print:'Hello~2021 年!'

C、print"(Hello~2021 年!)"

D、print("Hello~2021 年!')

答案:A 3、

csharp 复制代码

下列代码段

star_number1="star2"

star_number2="star3"

print(star_number1+star_number2)

结果是?( )

A、star5

B、star3star2

C、star2star3

D、star23

答案:C

csharp 复制代码

4、下列运算中,运算结果为 True 的是?( ) A、2 > 3 and 3 > 2

B、4 != 4 and 3 + 2 >= 5

C、3 * 4 < 8 or 3 + 2 < 5

D、20 >= 20

答案:D

csharp 复制代码

5、同学们排队做操,按名单顺序,每 12 个人一排,要问第 n 个人是第几排,下列哪一

种方法可以实现?

A、n // 12

B、n % 12

C、(n-1) // 12 + 1

D、(n-1) % 12 + 1

答案:C

csharp 复制代码

6、对于字典 dog = {"name":"dollar", "age":3, "sex":"female"},删除"age":3 键值

对的操作正确的是?( )

A、del dog[''age'']

B、del dog["age":13]

C、del dog

D、del dog[13]

答案:A

试题解析:

A 选项是通过 del 删除了 key 值为'age'的那一对数值;

B、D 选项删除方法不正确;

C 选项删除了整个字典;

根据题意本题选择 A 选项。

csharp 复制代码

7、已知圆的半径 r,求圆的面积 ?

A、

r = 3

c= 2 * 3.14 * r

print©

B、

r = 3

π = 3.14

c=2 * π * r

print©

C、

r = 3

π = 3.14

c= (r / 2 ) * ( r / 2) * π

print©

D、

r = 3

c = r * 3.14 * r

print©

答案:D

csharp 复制代码

8、下列代码输出结果是?( )

list1 = ['A','&','A',8,'A']

list1.remove('A')

print(list1)

A、[ 'A','&', 'A', 8]

B、['&', 'A', 8, 'A']

C、[ '&', 8]

D、['A','&', 8, 'A']

答案:B

csharp 复制代码

9、已知 t=(88,77,95,64,85),那么 t[1:3]的结果是?( ) A、[88,77]

B、(88,77)

C、(77,95)

D、[77,95]

答案:C

试题解析:元组访问指定索引范围,根据题意是访问第 2 和第 3 个元素,选择 C

csharp 复制代码

10、下列不会产生死循环的程序是?( ) A、i=1

while True:

i+=1

if i%20:
continue
print(i)
B、i=1
while True:
if i%20:

continue

print(i)

C、i=0

while True:

i+=1

if i100:
break
print(i)
D、i=1
while i1:

print(i)

答案:C

试题解析:当 i 值为 100 时,执行到 break 语句跳出循环。

csharp 复制代码

11、下列程序运行完成时,i 的值为?( )

for i in 'I enjoy coding.':

if i=='c':

break

print(i,end='')

A、'o'

B、'c'

C、I enjoy

D、'.'

答案:B

csharp 复制代码

12、语句 list6=[0,6]的含义是?( ) A、定义一个变量 list6,值为 0~6 之间的随机值

B、定义一个变量 list6,值为 6 C、定义一个列表 list6,包含 2 个元素:0 和 6 D、定义一个列表 list6,包含 7 个元素:0、1、2、3、4、5、6

答案:C

csharp 复制代码

13、x=10

y=5

if x/y == x//y:

print("相等")

else:

print("不相等")

执行这段程序后,输出的结果是?( ) A、"相等" B、"不相等" C、相等

D、不相等

答案:C

csharp 复制代码

14、执行下列语句,将输出:

x=[1,2,3,4,5]

y=[2,3,5]

z=[]

z.append(x[1]*y[2])

print(z)

A、x[1]*y[2]

B、25

C、[3]

D、[10]

答案:D

试题解析:同时考查列表元素序号和添加元素函数 append()

csharp 复制代码

15、下列程序的运行结果是?( )

a=1

if a>0:

a=a+1

if a>1:

a=5

print(a)

A、1 B、2 C、5 D、0

答案:C

试题解析:

a=1

if a>0:#a=1,1>0,条件满足

a=a+1#a=2

if a>1:#a=2,2>1,条件满足

a=5#a=5

print(a)#a=5

所以答案是:5

csharp 复制代码

16、已知 t=(2,3,5,7,9),下列哪条指令可以求元组数据的和?( ) A、len(t)

B、min(t)

C、max(t)

D、sum(t)

答案:D

试题解析:本题知识点元组的通用操作,len(t)是求元组的长度,min,max 是获取最小,

最大值,sum 是求和

csharp 复制代码

17、已知变量 a = "I love Python",执行语句 print('love' in a)的结果为?( ) A、True

B、False

C、1 D、0

答案:A

csharp 复制代码

18、下列程序运行的结果是?( )

dog = {"name":"dollar", "age":3, "sex":"female"}

print(len(dog))

A、6 B、3 C、4 D、1

答案:B

csharp 复制代码

19、10 个人站一排分苹果,问第 10 个人分到多少个苹果,他说比前面一个人多分到 2

个,依次往前,都说比前面一个人多分到 2 个,最后第一个人说分到 10 个苹果。用以下

函数求第 10 个人分到的苹果数,则应补充的代码为?( )

def apple(n):

if n == 1:

return 10

else:

return ______________

print(apple(10))

A、apple(n)+2

B、n+2

C、apple(n-1)+2

D、apple(n+1)-2

答案:C

csharp 复制代码

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

def fun(x,y):

return x*y

a=fun(10,10)

print(a)

A、100

B、50

C、10

D、运行出错

答案:A

试题解析:参数的默认值被替换。

csharp 复制代码

21、下列代码的输出结果是?( )

for i in range(1,6):

if i%4 == 0:

continue

else:

print(i,end =",")

A、1,2,3, B、1,2,3,4, C、1,2,3,5, D、1,2,3,5,6,

答案:C

试题解析:for 循环依次将 1~5 赋给 i,i 从 1,2,3,4.5 依次变化,当 1%4==0 时,结束本

次循环进入下一循环;反之输出 i 的值,故输出结果为:1,2,3,5,。本题选择 C 选项。

csharp 复制代码

22、下列代码的输出结果是?( )

d ={"大海":"蓝色","天空":"灰色","大地":"黑色"}

print(d["大地"])

A、"大地" B、大地

C、"黑色" D、黑色

答案:D

试题解析:在 Python 中,字典是存储可变数量键值对的数据结构,通过字典类型实现映

射,通过键访问值。

csharp 复制代码

23、鸡兔共有 100 只,鸡的总脚数比兔的总脚数多 26 只,那么,鸡有________只。

A、23

B、71

C、29

D、62

csharp 复制代码

24、从 1、2、3...49、50 这 50 个数中,取出若干个数使其中任意两个数的和都不能被

7 整除,最多可取________个数。

A、31

B、33

C、35

D、37

为了解决这个问题,我们需要考虑数除以7的余数,并确保任意两个数的和不能被7整除。我们可以通过以下步骤来解决:

  1. 分类:将1到50的数按照除以7的余数进行分类。
  2. 配对:找出哪些余数的组合会导致和能被7整除。

分类

  • 余数为0:7, 14, 21, 28, 35, 42, 49(共7个)
  • 余数为1:1, 8, 15, 22, 29, 36, 43, 50(共8个)
  • 余数为2:2, 9, 16, 23, 30, 37, 44(共7个)
  • 余数为3:3, 10, 17, 24, 31, 38, 45(共7个)
  • 余数为4:4, 11, 18, 25, 32, 39, 46(共7个)
  • 余数为5:5, 12, 19, 26, 33, 40, 47(共7个)
  • 余数为6:6, 13, 20, 27, 34, 41, 48(共7个)

配对

  • 余数为0的数只能选一个。
  • 余数为1的数不能与余数为6的数一起选。
  • 余数为2的数不能与余数为5的数一起选。
  • 余数为3的数不能与余数为4的数一起选。

最大选择

  • 余数为0的数选1个。
  • 余数为1的数选8个。
  • 余数为2的数选7个。
  • 余数为3的数选7个。
  • 余数为4的数选7个。
  • 余数为5或6的数中选一组,最多7个。

总数:

[ 1 + 8 + 7 + 7 + 7 + 7 = 37 ]

因此,最多可以取 37 个数。

正确答案是 D、37

csharp 复制代码

25、也许你早就知道阶乘的含义,N 阶乘是由 1 到 N 相乘而产生,如:

12!= 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 = 479 001 600

12!=1×2×3×4×5×6×7×8×9×10×11×12=479 001 600

12 的阶乘最右边的非零位为 6

写一个程序,计算 N 阶乘的最右边的非零位的值。

注意:10 000 000!

10 000 000! 有 2499999

2499999 个零。

输入格式

仅一行包含一个正整数 N

输出格式

一个整数,表示最右边的非零位的值。

输入 12

输出 6

选项

A、

num = int(input())

tot = 1

for i in range(1,num+1):

tot *= i

for j in tot:

if j != 0:

print(j)

break

B、

num = int(input())

tot = 1

for i in range(1,num+1):

tot *= i

tot = str(tot)

for j in tot:

if j != 0:

print(j)

break

C、

num = int(input())

tot = 1

for i in range(1,num+1):

tot *= i

tot = str(tot)

for j in range(len(tot)):

if tot[len(tot)-j-1] == '0':

continue

else:

print(tot[len(tot)-j-1])

break

D、

num = int(input())

tot = 1

for i in range(1,num+1):

tot *= i

tot = str(tot)

for j in range(len(tot)):

if tot[len(tot)-j] != '0':

print(tot[len(tot)-j])

break

答案 C

csharp 复制代码

判 断 题 1、以下三种表示字符串的方式都是正确的。

'H'

"不错"

"ggg'

答案:错误

2、12、my 都是有效的变量名。

答案:错误

试题解析:本题考查考生对 Python 变量的命名规则,根据 Python 标识符的命名规则,

12 这个变量名是违法的,其余的变量名正确,故此题正确答案为错误。

3、在 Python 中,编程语言是不区分大小写的,如:print 是打印函数,Print 也是打印

函数。

答案:错误

4、下列程序的输出结果是('A','p','p','l','e')。

vowels=('a','p','p','l','e')

vowels[0]='A'

print(vowels)

答案:错误

5、字典中的元素称为键值对,包括一个键和一个值,键和值中间用逗号隔开。

答案:错误

试题解析:字典中的元素称为键值对,包括一个键和一个值,键和值中间用冒号隔开。

6、若 s='春眠不觉晓,处处闻啼鸟。',则 s[2:4]的值是'不觉'。

答案:正确

7、列表名.count() 方法用于统计某个元素在列表中出现的次数。

答案:正确

8、def add(a, b, c):

return a+b+c

print(add(1, 2, 4))

这段程序的运行结果为 3。

答案:错误

9、sum=0

for i in range(5):

sum=sum+i

print(sum)

运行以上程序,输出结果是 5。

答案:错误

10、下列程序段能正确打印出结果 4。

def ff(a,b):

a=a+b

b=a-b

a=a-b

return b

print(FF(4,1))

答案:错误

试题解析:Python 中字母区分大小写,所以自定义函数创建和调用时,函数名要一致,

否则调用不成功。

11、字符串里的字符是可以被修改的。

答案:错误

12、python 中循环有两种,for 循环和 while 循环。

答案:正确

13、if/eilf/else 结构中,必须要有 else。

答案:错误

14、执行这段代码

li = [[1],[1,2],[1,2,3]]

for i in li:

print( i )

打印结果为:

[1]

[1,2]

[1,2,3]

答案:正确

15、在一个群组中,每个成员都可以关注其他成员,每个成员也可以是超级明星。超级明

星是这样的人:被群组里的其他每个人关注,但不关注群组里其他人。

例如,某个群组有三个成员:小华、亮亮和 Justin。 小华关注 Justin 和亮亮, 亮亮关

注 Justin, Justin 不关注任何人。 Justin 就是这个群组中的超级明星。

另一个群组中有五个成员峰峰、小周、核桃、饺子和 Rock。
峰峰关注了小周和饺子;
小周关注了饺子和 Rock;
核桃关注了峰峰、饺子和 Rock;
Rock 关注了峰峰和饺子。
那么饺子是这个群组中的超级明星。

答案:正确

相关推荐
wjs20242 分钟前
AngularJS HTML DOM
开发语言
取个名字真难呐16 分钟前
随机置矩阵列为0[矩阵乘法pytorch版]
pytorch·python·矩阵
易雪寒21 分钟前
Java大厂面试题之10种分布式ID的生成方案
java·开发语言·分布式
panxin80135 分钟前
矩阵和向量点乘叉乘元素乘
python·矩阵·numpy
树不懒41 分钟前
【js引擎】quickjs 中的两个 proto
开发语言·javascript·原型模式
明天不吃。1 小时前
【JMM】Java 内存模型
java·开发语言
Jackson@ML1 小时前
2025最新版Python 3.13.1安装使用指南
开发语言·python
ByteBlossom6661 小时前
Elixir语言的学习路线
开发语言·后端·golang
Anlici1 小时前
魔搭 AI 框架开发与 LangChain 的结合
人工智能·python·开源