NCT青少年编程能力等级测试Python编程二级-模拟卷(含答案)

参考答案在文章后边部分,请看到后半部分的答案分割线,非常感谢哦!

 

试题NCT-Python编程三级-模拟卷1(含答案

一、选择题

1.Python语言属于(   )。

A.机器语言 B.汇编语言 C.高级语言 D.科学计算语言

2.在Python中,下列循环结构用法错误的是(   )。

A.for i in range(20): B.for i in range(0,10):

C.for i in range(10,0,2): D.while s<50:

3.在Python语言中,数据的输入是通过(  )来实现的。

A.input( )函数 B.print( )函数

C.output( )函数 D.abs( )函数

4.解释性语言是指源代码不要求预先进行编译,在运行时才进行解释再运行,以下哪一种程序设计语言属于解释性语言(  )。

A.Python B.C++ C.VB D.C

5.有关循环结构的说法不正确的是(    )。

A.循环结构是算法的基本结构之一

B.有的的程序设计中没有循环结构

C.循环结构在程序设计有可能会有嵌套出现

D.在PYTHON 程序设计语言中循环结构一般使用IF语句实现。

6.有python程序如下

a=int(input())

b=int(input())

c=input()

if c=='+':

    print(a+b)

elif c=='-':

    print(a-b)

elif c=='*':

    print(a*b)

elif c=='/':

    print(a/b)

else:

print(“输入错误,请重试”)

当程序运行后,小新依次输入 9   2   *

程序输出结果应为(    )

A.18 B.11 C.7 D.4

7.以下不属于高级程序设计语言的是(   )。

A.C++ B.VB C.机器语言 D.Python

8.把数式 写成Python语言的表达式,下列书写正确的是( )。

 

A.a+b/2a B.a+b/2*a C.(a+b)/2*a D.(a+b)/(2*a)

9.下列序列拼接错误的是()

A.list = [ None ] * 4

B.msg = “Python”, ”语言”

C.tup = “/”.join( ( “123”, ”234” ) )

D.set = { 1, 2, 3 } + { 4, 5, 6 }

10.下列可以被计算机直接执行的程序是(    )

A.机器语言程序 B.高级语言程序 C.汇编语言程序 D.Python源程序

11.在Python语言中,用来定义函数的关键字是(   )。

A.return B.def C.function D.import

12.下面Python代码运行后,a、b的值为(    )

a=23

b=int(a/10)

a= a-b * 10

print(a,b)

A.23  2 B.3   2 C.3   20 D.2   3

13.在python中,下列属于字符串常量的是(  )

A."python" B.3.14 C.cnt D.2018

14.在教科书中利用Python探究电流和电压、电阻的关系实验里,除了可以通过书中的Jupyter Notebook外,处理数据还可以通过下列(  )工具实现。

A.Python IDLE B.Xmind C.网络画板 D.几何画板

15.下列Python程序段运行的结果是(      )

f=[‘A’,’B’,’C’]

a=len(f)

print(‘a=’,a)

A.a=2 B.a=’A’ C.a=’C’ D.a=3

二、程序填空

16.完善程序实现以下功能并保存。

输出数组的最大值。

arr1 =[12, 435, 76, 24, 78, 54, 866, 43]

________ = -32768

for i in range(0,7):

    if arr1[i] > max1 : max1 =  ________

print("最大值是:", ________)

input("运行完毕,请按回车键退出...")

17.完善程序实现如下功能并保存:

有5个人坐在一起,第5个人说他比第4个人小3岁;第4个人说他比第3个人小3岁;第3个人说他比第2个人小3岁;第2个人又说他比第1个人小3岁;第1个人说他是38岁。编写程序,计算出第5个人的年龄并显示。

def age(n):

    if n == 1: c = ________

    else: c = age(n - 1) - 3

    return ________

print("第5人的年龄:",age(________))

input("运行完毕,请按回车键退出...")

18.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。其内容是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?

打开文件“考生文件夹\644\百鸡百钱.py”,完善程序实现以下功能并保存。

(1)请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善。

(2)运行程序,运行结果如图所示。

# 请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善

money=100                #一共100文钱

num=100                  #一共100只鸡

cock_price=5             #公鸡价格5文

hen_price=3              #母鸡价格3文

threechick_price=1       #3只小鸡1文

for cock_num in range(1,money//cock_price+1):          #公鸡只数可能为1-20

    for hen_num in range(1,①________):                        #母鸡只数可能为1-33

        for chick_num in range(1,②________):                  #(3小鸡)只数可能为1-100

            money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price

            num1=cock_num+hen_num+chick_num*3

            if money1==money and num1==num:

                print (cock_num,hen_num,③________)             #(③小鸡数)

input("运行完毕,请按回车键退出...")

19.程序分析题

学校举行校园歌手大赛,评委由6人组成。评分方法:去掉一个最高分和一 个最低分,计算其余4位评委的平均分,作为选手的最终得分。max记录最高分; min记录最低分; s记录六位评委的总分; aver记录最终得分。

第1步:从文本框中分别读入6位评委的打分并依次存入到a(1)至a(6)中

第2步:将第1位评委的打分a(1)分别赋给最高分max ,最低分min和总分S

第3步:利用循环结构把另外5位评委的打分累加给s从而求出6位评委的总分s ,同时把5位评委的打分与max和min进行比较,得出6位评委中的最高分max和最低分min。

第4步:从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分。

max=a[0]

min=a[0]

s=0

for i in range(6) :

s=s+a[i]

if a[i]>max:

max=a[ i]

if a[i] <min:

min=a[ i]

aver=(          )/4

(1)在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由______控件生成的。

A.Entry    B.Label      C.Frame  D.Button

(2)题目中算法描述采用的是__________A、自然语言B、伪代码 C、流程图 D、.N-S图

(3)下列程序代码片段对应于算法描述中的第2步至第4步。请填写片段中空白处的表达式填写完整________

20.调试程序。请阅读以下程序并写出运行结果。

fruites=['banana','apple','mango']

for fruit in fruites:

  print(fruit)

a=len(fruites)

print('a=',a)

_________________

21.请在空格处填写正确的代码,使程序完善。

实现功能:用辗转相除法求解两个正整数的最大公约数。

x = int(input('请输入第一个正整数:'))

y = int(input('请输入第二个正整数:'))

m = max(x,y)            #找出x,y中的最大值

n = min(x,y)            #找出x,y中的最小值

r = m%n                 #求得最大值除以最小值后的余数

while r!=0:           #如果余数不等0,则进行以下循环

    m =________             #把最小值赋给m

    n =_________            #把余数赋给n

    r = m%n             #求得最大值除以最小值后的余数

print('这两个数的最大公约数为:',______)

input("运行完毕,请按任意键退出....")

【参考答案】***试卷处理标记,请不要删除

 

一、选择题

1.C

【详解】

本题考查Python语言相关知识点

Python是一种高级语言,所以不是机器语言、汇编语言、科学计算语言。故本题选C选项

解析:C

【详解】

本题考查Python语言相关知识点

Python是一种高级语言,所以不是机器语言、汇编语言、科学计算语言。故本题选C选项

2.C

【详解】

本题主要考查Python循环结构。range函数中第一个参数是起始值,第二个参数是终值,第三个参数是每次递增值,语句for i in range(10,0,2):初值是10,终值是0,

解析:C

【详解】

本题主要考查Python循环结构。range函数中第一个参数是起始值,第二个参数是终值,第三个参数是每次递增值,语句for i in range(10,0,2):初值是10,终值是0,每次递增2,将出现死循环,故本题选C选项。

3.A

【详解】

本题考查的是Python函数。input( )是输入函数,print( )是输出函数,abs( )是绝对值函数。故选项A正确。

解析:A

【详解】

本题考查的是Python函数。input( )是输入函数,print( )是输出函数,abs( )是绝对值函数。故选项A正确。

4.A

【详解】

本题主要考查程序设计语言。编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。Python属于解释性语言,

解析:A

【详解】

本题主要考查程序设计语言。编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。Python属于解释性语言,C++ 和C属于编译性语言,vb是典型的编译+解释型语言,故本题选A选项。

5.D

【详解】

本题考查循环结构的相关知识点

在PYTHON 程序设计语言中循环结构一般使用for或while语句实现。故本题选D选项

解析:D

【详解】

本题考查循环结构的相关知识点

在PYTHON 程序设计语言中循环结构一般使用for或while语句实现。故本题选D选项

6.A

【详解】

本题考查Python程序段。当程序运行后,小新依次输入9 2 *,即a=9,b=2,c=*,则elif c==‘*’:成立,执行print(a*b),结果为18,故本题选A。

解析:A

【详解】

本题考查Python程序段。当程序运行后,小新依次输入9 2 *,即a=9,b=2,c=*,则elif c==‘*’:成立,执行print(a*b),结果为18,故本题选A。

7.C

【详解】

本题考查计算机语言。C++,VB,Python都属于高级程序设计语言。机器语言则不是。故本题选项C不属于高级程序设计语言。

解析:C

【详解】

本题考查计算机语言。C++,VB,Python都属于高级程序设计语言。机器语言则不是。故本题选项C不属于高级程序设计语言。

8.D

【详解】

本题主要考查Python表达式。Python中乘号用符号“*”,运算优先级可以通过小括号提升,小括号优先级最高,故本题选D选项。

解析:D

【详解】

本题主要考查Python表达式。Python中乘号用符号“*”,运算优先级可以通过小括号提升,小括号优先级最高,故本题选D选项。

9.D

【详解】

本题主要考查Python序列拼接运算。set = {} 生成的是字典类型,而不是集合类型,不支持使用+,故本题选D选项。

解析:D

【详解】

本题主要考查Python序列拼接运算。set = {} 生成的是字典类型,而不是集合类型,不支持使用+,故本题选D选项。

10.A

【详解】

本题考查的是计算机程序语言。计算机程序语言可以分为:机器语言、汇编语言、高级语言。其中机器语言是由0和1组成,可以被计算机直接执行。故本题应选A。

解析:A

【详解】

本题考查的是计算机程序语言。计算机程序语言可以分为:机器语言、汇编语言、高级语言。其中机器语言是由0和1组成,可以被计算机直接执行。故本题应选A。

11.B

【详解】

本题主要考查Python关键字。return [表达式]结束函数,选择性地返回一个值给调用方;def用来定义函数;import用来导入模块,故本题选B选项。

解析:B

【详解】

本题主要考查Python关键字。return [表达式]结束函数,选择性地返回一个值给调用方;def用来定义函数;import用来导入模块,故本题选B选项。

12.B

【详解】

本题主要考查Python程序的执行。a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2

解析:B

【详解】

本题主要考查Python程序的执行。a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2,故本题选B选项。

13.A

【详解】

本题主要考查Python数据类型。"python"是字符串常量,3.14、2018是数值型常量,cnt是变量,故本题选A选项。

解析:A

【详解】

本题主要考查Python数据类型。"python"是字符串常量,3.14、2018是数值型常量,cnt是变量,故本题选A选项。

14.A

【详解】

本题Python相关知识点

IDLE 是 Python 所内置的开发与学习环境,故除了可以通过书中的Jupyter Notebook外,处理数据还可以通过Python IDLE工具实现

解析:A

【详解】

本题Python相关知识点

IDLE 是 Python 所内置的开发与学习环境,故除了可以通过书中的Jupyter Notebook外,处理数据还可以通过Python IDLE工具实现。故本题选A选项

15.D

【详解】

本题主要考查Python程序的执行。a=len(f)=3,故print(‘a=’,a)的结果是a=3,故本题选D选项。

解析:D

【详解】

本题主要考查Python程序的执行。a=len(f)=3,故print(‘a=’,a)的结果是a=3,故本题选D选项。

二、程序填空

16.max1    arr1[i]    max1    

【详解】

本题主要考查Python程序执行与调试。变量max1用来保存数组的最大值,初始值赋值为最小值-32768,第一空填max1,通过for循环依次比较当数组元素大于max1时,更新max1的值为该元素继续循环直到与所有元素比较完,第二空填arr1[i],最后输出最大值是max1,故第三空填max1。

17.c    5    

【详解】

本题主要考查Python程序执行与调试。①第一个人38岁,n标记第几个人,变量c保存年龄,当n=1时,c=38,故第一空填38。②后面的人都比前一个人小3岁,故当n不等于1时,调用递归函数age, c = age(n - 1) - 3,最后返回第n个人的年龄c,第二空填c。③此处是返回第5个人的年龄,即age(5),填5。

18.34 money//hen_price+1    101  money//threechick_price+1    chick_num*3    

【详解】

本题主要考查Python程序执行与调试。①母鸡只数可能为1-33,对比最外层循环范围,第一空填34或 money//hen_price+1。②小鸡只数可能为1-100,同理第二空填101 或 money//threechick_price+1。③公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,故第三空填chick_num*3。

19.A    A    s-max-min    

【详解】

本题主要考查Python程序的执行与调试。①在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由Entry控件生成的(Entry 是Tkinter 用来接收字符串等输入的控件,该控件允许用户输入一行文字),故选A选项。②题目中算法描述采用的是伪代码,故选A选项。③从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分,故此处填s-max-min。

20.banana

apple

mango

a= 3

【详解】

本题主要考查Python中For循环结构。 for循环可以遍历任何序列的项目,如一个列表或者一个字符串;len() 方法返回列表元素个数。因此本题输出为各列表内容及列表元素个数。

【点睛】

21.n    r    n    

【详解】

本题考查的是Python循环语句。辗转相除法:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。 由n = min(x,y) 可知最小值为n,故①处为n,由r = m%n 可知余数为r,故②处为r,最后的除数是n(即最大公约数为n),故③处为n。

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: NCT Python二级真题是一场考试,旨在评估考生的Python编程能力。以下是我对这个真题的回答: 这个真题要求我们编写一个程序,实现以下功能:根据用户输入的人数和年龄,判断每个人的票价,并计算所有人的总票价。票价的规则是:年龄在0-6岁之间的免费,7-17岁之间的学生票价为20元,18岁及以上的成人票价为40元。 考虑到这个问题的特点,我将采用循环结构和条件判断来完成这个程序。首先,我会用一个while循环,让用户反复输入人数和年龄,并根据这些输入计算总票价。循环退出的条件是用户输入的人数为0。 在每次循环开始时,我会使用input函数分别获取用户输入的人数和年龄。接下来,我会先判断人数是否为0,如果是的话,则直接跳出循环。否则,我会使用一个变量来保存每个人的票价,并通过if-else语句根据年龄来判断每个人的年龄,并将对应的票价加到总票价上。 最后,当循环结束后,我会打印出总票价,并结束程序的执行。 这个问题对于Python的基本语法和逻辑思维都有一定的要求。要解决这个问题,我们需要熟悉循环语句、条件判断语句以及输入输出函数的使用。此外,我们还需要运用算术运算符和赋值运算符来完成票价的计算。 通过解答这个问题,我们可以提高自己的编程水平,并更深入地理解基本的编程概念。总的来说,这个Python二级真题是一次很好的练习机会,帮助我们巩固和扩展我们在Python编程方面的知识和技能。 ### 回答2: Python是一种高级编程语言,具有简单易学、语法优雅的特点,被广泛应用于科学计算、数据分析、人工智能等领域。NCT Python二级考试是对学生掌握Python基础知识和应用能力的一次检测。下面我将从题目类型和考点分析两个方面回答该真题。 首先,NCT Python二级考试的题目类型主要包括选择题、填空题和编程题。选择题通常涉及到Python的基础知识,包括数据类型、运算符、控制语句等。填空题要求学生填写正确的代码,检测对Python语法和语义的理解。编程题是该考级的重点,要求学生根据题目要求编写相应的Python代码,检测学生的编程能力和解决问题的思维能力。 其次,考点主要涵盖以下几个方面:Python基础知识、函数与模块、字符串和文件操作、数据结构与算法和面向对象编程等。对于Python基础知识,学生需要了解Python的数据类型、运算符、控制语句等基础概念。函数与模块考察学生对函数和模块的定义与使用。字符串和文件操作考察学生对字符串操作和文件读写的掌握。数据结构与算法要求学生了解常用的数据结构和算法,并能够灵活运用。面向对象编程考察学生对面向对象编程思想的理解和应用。 综上所述,NCT Python二级考试是对学生对Python基础知识和应用能力的一次检测,通过选择题、填空题和编程题等多种题型对学生的知识点掌握和综合能力进行考查。考生需要熟悉Python的基本语法和常用库函数,并能够根据题目要求编写相应的Python代码,解决实际问题。同时还需对函数与模块、字符串和文件操作、数据结构与算法和面向对象编程等方面有一定的了解和应用能力。 ### 回答3: NCT Python二级真题要求回答以下问题: 1. 简述面向对象编程(OOP)的概念和优势。 面向对象编程是一种编程范式,它将数据和操作数据的代码组织成一个称为对象的独立单元。对象是类的实例,类定义了对象的属性和行为。OOP的优势包括代码的复用性高、易于维护、模块化、可扩展性强等。 2. 解释Python中的异常处理机制,并提供一个例子。 Python中的异常处理机制允许捕获和处理程序运行过程中出现的异常。可以使用try-except语句来捕获异常,并在except块中进行相应的处理。例如,考虑以下代码段: ```python try: num1 = int(input("请输入一个整数:")) num2 = int(input("请输入另一个整数:")) result = num1 / num2 print("两个数相除的结果为:", result) except ZeroDivisionError: print("除数不能为0!") except ValueError: print("请输入有效的整数!") ``` 在这个例子中,我们尝试将两个输入的整数相除,并打印结果。但是如果除数为0或输入的内容无法转换为整数,就会引发相应的异常。通过使用try-except语句,我们可以捕获这些异常并输出相应的错误提示信息,提高程序的健壮性。 3. 介绍Python中的迭代器和生成器的概念,并提供一个示例。 迭代器是用于遍历容器(如列表、元组、字典等)中的元素的工具。它通过__iter__()和__next__()方法实现。例如,我们可以使用for循环遍历一个列表: ```python my_list = [1, 2, 3, 4, 5] for num in my_list: print(num) ``` 在这个例子中,my_list是一个可迭代对象,它实现了__iter__()方法,返回一个迭代器对象。for循环使用迭代器对象的__next__()方法来逐个获取列表中的元素,并将其赋值给num变量进行打印。 生成器是一种特殊的迭代器,它使用yield语句来生成迭代器对象。生成器函数可以通过yield语句返回一个值,并暂停函数的执行状态,下次调用时从上一次离开的位置继续执行。例如: ```python def fibonacci(): a, b = 0, 1 while True: yield a a, b = b, a + b fib = fibonacci() for i in range(10): print(next(fib)) ``` 在这个例子中,fibonacci()函数是一个生成器函数。在每次循环中,通过yield语句返回斐波那契数列中的下一个值,然后暂停执行。通过调用next()函数,我们可以在每次迭代中获取斐波那契数列的下一个值并打印。 以上是关于NCT Python二级真题的回答,希望可以帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

青少儿编程课堂

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

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

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

打赏作者

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

抵扣说明:

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

余额充值