试题青少年编程等级考试∶Python编程一级试卷3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

试题青少年编程等级考试∶Python编程一级试卷3
一、选择题
1.Python中幂运算(指数运算)的运算符为()。

A.* B.** C.% D.//
2.python单行注释和多行注释分别是什么?()
A.""" """和''' ''' B.#和""" """ C.//和''' ''' D.#和//
3.以下是猜数游戏的 Python程序,请你补全代码:
请选择适当的代码填入程序①处。

()
A.for B.print C.elif D.input
4.以下文本框内是一段用Python程序设计语言编写的源代码,功能是输出200以内能被17整除的最大正整数。

这段源代码属于()。

A.软件B.程序C.指令D.高级语言
5.小王编写了出租车收费的python程序,代码如下:
s1=float(input('请输入行驶路程(公里):'))
if s1<=3:
f=10
elif s1<=10:
f=10+2.5*(s1-3)
else:
f=27.5+3.5*(s1-10)
print(f)
要测试所有分支程序代码是否正确,以下测试数据中,最恰当的一组是()
A.3,8 B.-1,5,12
C.1,6,20 D.3,12,20
6.以下哪个不属于计算机操作系统()
A.DOS B.Unix C.Python D.Linux 7.有如下Python程序,当程序运行后输入15000,则程序输出结果为()
A.2800 B.2800.0 C.12200 D.12200.0 8.Python语句 "ab"+"c"*2 的运行结果是()
A.abc2 B.abcabc C.abcc D.ababcc 9.在下列程序设计语言中,属于人工智能语言的是()。

A.Python
B.VB
C.Pascal
D.C
10.下列不可以用来搭建本地服务器的软件是()。

①Python ②Excel ③IIS ④Apache
A.①②B.③④C.①②③④D.①②④11.下列不被python所支持的数据类型是()
A.char B.float C.int D.list 12.下列不是Python中所有循环必须包含的是()。

A.冒号B.循环次数C.循环体D.缩进13.以下python程序段运行后,y的值是()
x=3
if x > 3 :
y=2*x
else :
y=3*x+1
print(y)
A.10 B.5 C.25 D.26 14.在python中,想输出一行文字,要用到的函数是()。

A.input()B.int()C.print()D.float() 15.在Python中,表达式(21%4)+5的值是()
A.2 B.6 C.10 D.3二、程序填空
16.阅读程序。

分析以下Python程序并回答问题。

who='我的'
action='是'
destination='镜像世界'
number='153'
code='通行密码'
print( who+destination+code+action+str(number))
(1)变量who的数据类型_______________。

(2)类似number的数据类型______________ 。

(3)print语句输出的结果是______________。

(4)str(number)的作用是_________。

(5)“+”在程序中的作用是____________。

17.“枚举算法”又称为“穷举法”,其基本思想是:一一列举出所有可能的解,并验证每个可能的解是否是真正的解,若是,就采纳,否则,就抛弃。

小明利用枚举算法解决“百元买百鸡”问题。

用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。

公鸡5元1只,母鸡3元1只,小鸡1元3只。

请问公鸡,母鸡,小鸡各应该买多少只?
假设公鸡有X只,母鸡有Y只,小鸡有Z只。

以下Python程序段实现了“百元买百鸡”的功能,请补全①②③处代码。

c = 0
for x in ____① :
for y in range(1,33):
z = 100-x-y
if ______② :
print("公鸡:",x,"母鸡:",y,"小鸡:",z)
_____③
print("共有买法",c,"种")
18.某字符转置算法描述如下:
将字符串(均为大写字符)s依次转换为相对应的数值(字符A~Z对应数值1~26);·转换后的数值以K个数据为一段,将n个待处理的数据依次分割成若干段(最后一段不足部分用0来补充);
每一段中K个数据与K*K转置矩阵进行乘法运算;
将乘法运算得到的每一个结果值除以26求余数,依次转换成相应字符(数值1~26对应字符A~Z),最后按原始字符串长度输出。

乘法运算规则如下:
第i个元素c(i)=第j个元素a(j)*转置矩阵第j行第i个元素b(t)的乘积之和(其中j=1,2…K)
例如:字符串s=PYTHON,区块大小K=4,的转置过程如下:
(1)根据算法描述,上述示例中,字符“N”的相乘结果(即图中(★)处)为
________。

(2)请在划线处填入合适代码。

Private Sub Commandl_Click()
Dim a(1 To 100)As Integer ´存储字符串,长度不超过100个字符Dim b(1 To 100)As Integer 存储转置矩阵,长度不超过 10*10 Dim c(1 To 100)As Long
Dim s As String, tmp As String
Dim k As Integer, t As Integer, i As Integer, j As Integer
Dim n As Integer, m As Integer, lens As Integer
s=Textl. Text ´在 Textl 中输入原始字符串
k=Val(Text 2.Text) ´在 Text 2 中输入区块大小K Randomize
For i=1 To k^2
b(i)=Int(Rnd*9)+1
tmp=tmp十Str(b(i))
If i Mod k=0 Then
List 2. AddItem tmp
tmp="" .
End If
Next i
lens=Len(s):n=lens
For i=1 To n
tmp=Mid(s,i,1)
①__________
Listl. AddItem Str(a(i))
Next i
Do While n Mod k<>0
n=n十1
a(n)=0
Listl. AddItem Str(a(n))
Loop
For i=1 To n
m=(i―1)Mod k+1
t=1
Forj= ②__________
c(i)=a(j) * b((m-1) * k+t)+c(i)
t=t+1
Next j
Next i
For i=1 To n
List 3. AddItem Str(c(i))
Next i
s=″″
For i=1 To lens
③__________
s=s+Chr(t+64)}
Next i
Text 3.Text=s ´在Text 3 中输出转置后的字符串End Sub
19.求1~100内奇数之和(使用range函数)20.调试程序。

请阅读以下程序并写出运行结果。

#ex16.py
i=0
sum=0
while i<10:
if i%3==0:
sum+=i
print(i)
i=i+1
print('sum',sum)
_________
21.阅读程序。

阅读求水仙花数的代码并回答问题。

“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个“水仙花数”,因为153=13+53+33,请计算并输出所有三位数的水仙花数。

for n in range(100,1000):
i=n//100
j=n//100%10
k=n%10
if n==i*i*i+j*j*j+k*k*k:
print(n)
(1)//的符号作用是 _____ 。

(2)%的符号作用是 _____ 。

(3)==的符号作用是 _____ 。

(4)在代码中,变量i表示的是三位数中的 ______ 位。

(5)在代码中,变量j 表示的是三位数中的 ______ 位。

(6)在代码中,变量k表示的是三位数中的 ______ 位。

(7)在range(100,1000)这个区域内,变量n无法取到的数值是________。

【参考答案】***试卷处理标记,请不要删除
一、选择题
1.B
【详解】
本题主要考查Python的运算。

Python中幂运算(指数运算)的运算符为**,故本题选B 选项。

解析:B
【详解】
本题主要考查Python的运算。

Python中幂运算(指数运算)的运算符为**,故本题选B 选项。

2.B
【详解】
本题主要考查Python注释。

python单行注释和多行注释分别是#和""" """,故本题选B选项。

解析:B
【详解】
本题主要考查Python注释。

python单行注释和多行注释分别是#和""" """,故本题选B选项。

3.C
【详解】
本题主要考查Python分支结构。

分析程序可知,该程序采用多分支结构,故程序①处应填elif,故本题选C选项。

解析:C
【详解】
本题主要考查Python分支结构。

分析程序可知,该程序采用多分支结构,故程序①处应填elif,故本题选C选项。

4.B
【详解】
本题考查知识点是程序的定义。

软件是指包括所有在电脑运行的程序。

软件=程序+数据+文档。

程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。

程序中包括指令和数据。

解析:B
【详解】
本题考查知识点是程序的定义。

软件是指包括所有在电脑运行的程序。

软件=程序+数据+文档。

程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。

程序中包括指令和数据。

指令是指示计算机执行某种操作的命令。

一个指令通常由两部分组成:操作码+地址码。

高级语言是指以人类的日常语言为基础的一种编程语言。

根据它们的定义,可以得出题目中的源代码属于程序。

故B选项正确。

5.C
【详解】
本题主要考查Python条件分支结构。

分析代码可知,程序采用条件分支结构,第一个条件是s1<=3,第二个条件是3<s1<=10,第三个条件是s1>10,故最恰当的一组测试数据是1,6,
解析:C
【详解】
本题主要考查Python条件分支结构。

分析代码可知,程序采用条件分支结构,第一个条件是s1<=3,第二个条件是3<s1<=10,第三个条件是s1>10,故最恰当的一组测试数据是1,
6,20,故本题选C选项。

6.C
【详解】
本题主要考查计算机软件系统。

DOS、Unix、Linux均是计算机操作系统,Python是程序开发软件,故本题选C选项。

解析:C
【详解】
本题主要考查计算机软件系统。

DOS、Unix、Linux均是计算机操作系统,Python是程序开发软件,故本题选C选项。

7.D
【详解】
本题考查的是Python的选择嵌套语句。

先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。

15000不小于等于10000,故执行tax=800
解析:D
【详解】
本题考查的是Python的选择嵌套语句。

先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。

15000不小于等于10000,故执行
tax=800+(salary-1000)*0.4=800+(15000-10000)*0.4=800+2000=2800.0。

因为salary接收的是浮点型数据。

salary-tax=15000-2800.0=12200.0。

故选项D正确。

8.C
【详解】
本题主要考查Python表达式的运算。

“ab”、“c”是字符型数据类型,
“c”*2=“cc”,故 "ab"+"c"*2 的运行结果是abcc,故本题选C选项。

解析:C
【详解】
本题主要考查Python表达式的运算。

“ab”、“c”是字符型数据类型,“c”*2=“cc”,故"ab"+"c"*2 的运行结果是abcc,故本题选C选项。

9.A
【详解】
本题考查的是人工智能语言。

Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。

故选项A正确。

解析:A
【详解】
本题考查的是人工智能语言。

Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。

故选项A正确。

10.A
【详解】
本题考查服务器的相关知识点
①Python 脚本语言②Excel 处理表格软件③IIS Internet信息服务可以搭建服务器④Apache 可以搭建阿帕奇服务器。

故①②不可
解析:A
【详解】
本题考查服务器的相关知识点
①Python 脚本语言②Excel 处理表格软件③IIS Internet信息服务可以搭建服务器
④Apache 可以搭建阿帕奇服务器。

故①②不可以用来搭建本地服务器。

故选A选项11.A
【详解】
本题主要考查Python数据类型。

Python没有char类型,一个字符也是字符串,故本题选A选项。

解析:A
【详解】
本题主要考查Python数据类型。

Python没有char类型,一个字符也是字符串,故本题选A选项。

12.B
【详解】
本题主要考查Python循环结构。

Python中所有循环必须包含的是冒号、循环体、缩进。

不是Python中所有循环必须包含的是循环次数,可能是while循环条件,故本题选B选项。

解析:B
【详解】
本题主要考查Python循环结构。

Python中所有循环必须包含的是冒号、循环体、缩进。

不是Python中所有循环必须包含的是循环次数,可能是while循环条件,故本题选B选项。

13.A
【详解】
本题主要考查Python程序的执行。

x=3,不满足x>3,执行y=3*x+1=10,故本题选A选项。

解析:A
【详解】
本题主要考查Python程序的执行。

x=3,不满足x>3,执行y=3*x+1=10,故本题选A选项。

14.C
【详解】
本题考查的是python基本函数相关知识。

input函数接受一个标准输入数据,返回为 string 类型,故选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,
解析:C
【详解】
本题考查的是python基本函数相关知识。

input函数接受一个标准输入数据,返回为 string 类型,故选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,故选项B错误;print是输出函数,故选项C正确;float用于将整数和字符串转换成浮点数,故选项D错误。

15.B
【详解】
本题主要考查Python表达式的运算。

(21%4)+5=1+5=6,故表达式(21%4)+5的值是6,故本题选B选项。

解析:B
【详解】
本题主要考查Python表达式的运算。

(21%4)+5=1+5=6,故表达式(21%4)+5的值是6,故本题选B选项。

二、程序填空
16.字符串字符串我的镜像世界通行密码是153转换为字符串连接字符串
【详解】
本题主要考查Python程序的执行与调试。

①who='我的',可知变量who的数据类型字符串。

②number='153' ,类似number的数据类型也为字符串。

③print( who+destination+code+action+str(number)),是将变量字符串拼接后输出,故print 语句输出的结果是我的镜像世界通行密码是153。

④str(number)的作用是转换为字符串。

⑤“+”在程序中的作用是连接字符串。

17.range(1,20) 5*x+3*y+z/3 == 100 c = c+1
【详解】
本题考查的是python编程。

X代表的是公鸡,公鸡5元一只,所以此处的range函数为range(1,20),左闭右开区间。

if条件是满足三种鸡的总价格为100元的条件,故答案为5*x+3*y+z/3 == 100,注意这里是一个判断条件,用==表示。

c代表的是有几种购买方案,当if条件满足时,即满足一种方案,执行方案数加1,c=c+1。

18.①a(i)=Asc(tmp)-64或a(i)=Asc(tmp)-Asc("A")+1 ②i–m+1To i–m+k ③t=(c(i)–1) Mod 26+1
【详解】
本题考查乘法运算规则的理解以及转置矩阵中行列数据的读取。

(1)根据算法描述,图中
(1)处的值为15×5+14×1+0×2+0×9=89。

(2)程序先随机生成数组b,其下标为1到k×k,并以行列的形式显示在列表框list2中(即为转置矩阵),然后读取大写字符串s中的每个字符,并将每个字符转换成相应字母表中的位置存储在数组a中。

代码①处为字符转成相应的字母表中位置值,下方代码将a(i)输出在列表框listl中,故此处应获取a(i)的值。

根据题干描述“字符A~Z对应数值1~26”,此处为将tmp获取的字符通过Asc函数进行转换,语句为“a(i)=Asc(tmp)-64”,还可以是“a(i)=Asc(tmp)-Asc
(″A″)+1”。

代码②处为循环变量j的取值范围,根据乘法规则,变量j的范围是每一段中的1到k之间的值,需要获取每一段的起始位置下标,结合上文得到的m值,可得循环变量的范围是“i-m+1 To i-m十k”。

代码③处是将计算结果c(i)按原长度转换成相应大写字符,计算结果要求除以26取余,若直接写成c(i)Mod 26,则导致数值26的结果为0,因此需要先减1,Mod后再加1这样的处理技巧,因此答案为“(c(i)-1)Mod 26+1”。

19.Sum=0
for i in range(1,101,2):
Sum+=i
print(Sum)
【详解】
本题主要考查Python程序设计。

求1~100内奇数之和,用Sum来求和,变量i的范围是1到100,每次递增2,可以使用range函数,具体代码如下:
Sum=0
for i in range(1,101,2):
Sum+=i
print(Sum)
20.0
【详解】
本题主要考查Python中While循环结构。

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

题中循环体内含If选择结构,即当i%3为0时,执行sum变量累加i,输出i,i自增加1操作,因此本题输出0后,循环无限执行下去。

【点睛】
21.整除取余判断是否相等百十个 1000
【详解】
本题考查的是python语言及对程序实现的理解。

(1)//的符号作用是取整除,返回商的整数部分(向下取整)。

(2)%的符号作用是取模,返回除法的余数。

(3)等于,比较符号两边对象是否相等。

(4)(5)(6)i=n//100,j=n//10%10,k=n%10,分别利用取整和取余符号,算出三位数对应的每一位上的数字。

(7)range()函数的区间是左闭右开,所以第二个参数1000是取不到的。

相关文档
最新文档