2024年5月1日发(作者:)
青少年编程等级考试∶Python编程三级试卷5练习
一、选择题
1.下列不可以用来搭建本地服务器的软件是(
)。
①
Python
②
Excel
③
IIS
④
Apache
A
.①②
A
.
1
A
.
1
A
.自然语言
A
.
x+y=10
A
.
25
B
.
15
C
.
9
D
.
7.4
7.12 Python语言语句块的标记是( )
A
.分号
S=input
(
)
(
S * 3
)
运行后通过键盘输入
6
,则运算结果是(
)
A
.
666
x=y
y=x
A
.
10
、
10
A
.
open ()
C
.
read ()
x=9
(“
x=
”,
x+1
)
A
.
9
A
.圆括号()
B
.
10
B
.方括号[]
C
.
x=9
C
.大括号{}
D
.
x= 10
D
.尖括号<>
12.Python
表达式中,可以使用( )控制运算的优先顺序。
13.在
Python
中运行下列程序,输出结果为(
)
B
.
10
、
20 C
.
20
、
20
B
.
load ()
D
.
write ()
D
.
20
、
10
10.以下选项中,不是
Python
中文件操作的相关函数是(
)。
B
.
SSS C
.
18 D
.
S*3
9.在
Python
中,若
x=10
,
y=20
,下面程序段执行后,变量
x
、
y
的值分别是(
)
B
.逗号
C
.缩进
D
./
8.有
python
程序如下:
B
.③④
B
.-
1
B
.
0
B
.汇编语言
B
.
x=2y
C
.①②③④
C
.
True
C
.
True
C
.机器语言
C
.
x=y=50
D
.①②④
D
.
False
D
.
False
D
.高级语言
D
.
3y=x+1
2.在
Python
中,设
a=2
,
b=3
,表达式
not
(
b
-
a>0
)值是
(
)
3.Python
中
print(66!=66)
结果是(
)。
4.Python
语言属于(
)
5.在
Python
中,正确的赋值语句是(
)
6.在
Python
中,算式
5+6*4%
(
2+8
)结果为(
)
11.在
Python
中,下面程序段的输出结果是(
)
for i in range (1,6):
print(‘*’)
A
.
******
f=[‘A’,’B’,’C’]
a=len(f)
print(‘a=’,a)
A
.
a=2 B
.
a=’A’ C
.
a=’C’ D
.
a=3
B
.
* * * * * * C
.
* * * * * D
.
*****
14.下列
Python
程序段运行的结果是(
)
15.下列定义变量的
python
程序语句变量赋值错误的是(
)
A
.
x=y=1 B
.
x,y=1,2 C
.
x==1
B
.
int
(
4.99
)
D
.
max
(
[1
,
2
,
3
,
4]
)
B
.
D
.
__name__
写成
Python
语言的表达式,下列书写正确的是(
)。
B
.
a+b/2*a
B
.
Python
语言
C
.
(a+b)/2*a
C
.自然语言
D
.
(a+b)/(2*a)
D
.机器语言
D
.
x=1,2
16.以下
Python
表达式中,哪项的值与其它三项不同(
)
A
.
len
(“
my name is james
”
.split
())
C
.
sum
(
[1
,
2
,
1
,
1]
)
A
.
int_3
C
.
count
18.把数式
A
.
a+b/2a
A
.汇编语言
a = 0
b = 4
if b > a
:
a = 3 * b
else
:
a = 10
程序运行后,
a
的值是(
)
A
.
10 B
.
0 C
.
12 D
.
4
21.王明编写了
Python
程序,根据输入的体重和身高计算
BM
值并显示是否超标。王明体
重
80kg
,身高
170cm
。其中“体重
80kg
”“身高
170cm
”是对王明体重身高的符号记录属
于(
)
A
.数据
B
.信息
C
.知识
D
.智慧
22.我们在用
Python
进行数据分析的时候,经常会用到
pandas
库中的
DataFrame
,这是类
似于(
)的数据结构
(
)
A
.一维表格
B
.二维表格
C
.三维表格
D
.四维表格
23.在
Python
程序中,要求
s
=
3
+
6
+
9
+
…
+
300
的值,可以采用如下代码,下列选项中
17.下面哪个不是
Python
合法的标识符(
)
19.计算机能直接识别、理解执行的语言是(
)
20.下列
Python
程序段
的说法不正确的是(
)。
A
.
for
循环语句中步长为
3
C
.语句
s
=
s
+
i
共循环执行了
100
次
下列表达式的运算结果中值最大的是(
)
A
.
(b) B
.
abs
(
a- b
)
B
.语句
s
=
0
应改为
s
=
1
D
.程序使用了循环结构
24.在
python
中,
Int
()函数的功能是返回不大于
x
的最大整数,设
a=3
,
b=4
,
c=5
,则
C
.
Int
(
2*a-c/b
)
D
.
a**2+b**2-c**2
25.王明同学运用
Python
语言编写程序,根据输入的体重和身高计算
BM
值并验算其体重
指数是否超标,属于(
)
A
.数据
A
.
P
和
P
的负数相等
C
.将
P
赋值为它的相反数
输出结果是(
)。
A
.
5
A
.
5
A
.
/
A
.
s%1
B
.
3
B
.
34
B
.
%
B
.
3stu
C
.
8
C
.
7
C
.
mod
C
.
while
D
.其他
D
.
12
D
.
//
D
.
dist
28.已知列表
list1=[8
,
22
,
34
,
9
,
7]
,则
python
表达式
len(list1)+min(list1)
的值为(
)
29.在
Python
程序设计语言中,表示整除的符号是(
)
30.下列选项中,能作为
python
程序变量名的是(
)
B
.信息
C
.知识
D
.智慧
26.关于
Python
语句
P = –P
,以下选项中描述正确的是(
)
B
.
P
和
P
的绝对值相等
D
.
P
的值为
0
27.Python
程序中第一行:
a=int(input( ))
,第二行:
print(a+5)
,运行程序后键盘输入
3
,
二、程序填空
31.学校气象小组使用自动测温仪在校园测量了
1
月
12
日的气温,并利用
Python
绘制了
这天的气温图,该图如下所示:
(
1
)在以上
Python
程序中,变量
Y
的数据类型是
_________
。
(
2
)在以上
Python
程序中,第
8
行横线处的代码是
_________
。
(
3
)通过观察,气温釆样间隔时间是
_________
个小时。
32.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率
T
。请根据所
学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和
Python
程序。
33.使用
Python
自身提供的
IDLE
集成开发环境录入以下代码及调试
运行,检测结果。
#
鸡兔同笼
for x in range(1,23):
y=35-x
if 4*x+2*y==94:
print("
兔子有
%s
只,鸡有
%s
只
"%(x,y))
特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处
置办法,直至能正确输出结果。
34.“枚举算法”又称为“穷举法”,其基本思想是:一一列举出所有可能的解,并验证
每个可能的解是否是真正的解,若是,就采纳,否则,就抛弃。
小明利用枚举算法解决“百元买百鸡”问题。用
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,"
种
")
35.某字符转置算法描述如下:
将字符串(均为大写字符)
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 )
´在
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 =s
´在
Text 3
中输出转置后的字符串
End Sub
36.辗转相除法,又称欧几里德算法,用于计算两个正整数
m
、
n
的最大公约数。它是已
知最古老的算法,其可追溯至公元前
300
年前。
辗转相除法的算法步骤是,对于给定的两个正整数
m
、
n
(
m>n
),用
m
除以
n
得到余数
r,若余数
r
不为
0
,就将
n
和
r
构成新的一对数(
m=n
,
n=r
),继续上面的除法,直到余
数为
0
,这时m就是原来两个数的最大公约数。因为这个算法需要反复进行除法运算,故
被形象地命名为“辗转相除法”。小曲设计了辗转相除法的算法,请根据下面算法回答问
题。
描述一
描述二
描述三
①输入两个正整数
m,n
(
m>n
);
②计算
m
除以
n
所得的
余数
r
;
③
m=n,n=r
;
④若
r=0,
则
m,n
的最大公
约数等于
m
;否则转到
步骤②;
⑤输出最大公约数
m;
⑥结束。
(
1
)描述一是
________
描述法;描述二是流程图描述法;描述三是计算机程序语言描述
法。
(
2
)在描述三中代码
4
到
6
行作用是
__________
。
(
3
)在描述三程序设计中,补充代码第
8
行划线处为
__________
。
37.求解
a
到
b
内(包含
a
和
b
)所有的质数,并对每个质数的每一位数字求和。请完善
程序。程序如下:
import math
def IsPrime(i):
if i==1:
return False
for j in range(2,int((i))+1):
if____:
return False
return True
a=int(input("
请输入
a:"))
b=int(input("
请输入
b:"))
summ=0
for i in range(a,b+1):
if IsPrime(i):
________
while t>0:
summ=summ+t%10
_________
print("
数字和为
:",summ)
38.现在有一个程序用来解决以下问题:如果有总量共
1020
个西瓜,第一天卖掉总数的一
半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?
请将下列程序补充完整。
tc=1020
c=0
while ______________ :
tc=tc-(tc/2+2)
_____________
print(c)
39.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后
多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最
后多出两个。编写程序求出这些小朋友的可能人数。
实现上述功能的程序如下,请在程序划线处填入合适的代码。
________
a=[ ]
for i in range(100,1000):
if_____________:
(i)
total + = 1
print("
这群小朋友总的人数有:
")
for j in range(len(a)):
print(____,end='
、
')
print('')
print('
可能情况数为:
',total,'
种
')
划线处
①
处应该填入的语句为:
;
划线处
②
处应该填入的语句为:
;
划线处
③
处应该填入的语句为:
。
40.调试程序。请阅读以下程序并写出运行结果。
fruites=['banana','apple','mango']
for fruit in fruites:
print(fruit)
a=len(fruites)
print('a=',a)
_________________
【参考答案】
***
试卷处理标记,请不要删除
一、选择题
1
.
A
【详解】
本题考查服务器的相关知识点
①Python
脚本语言
②Excel
处理表格软件
③IIS Internet
信息服务可以搭建服务器
④Apache
可以搭建阿帕奇服务器。故
①②
不可
解析:
A
【详解】
本题考查服务器的相关知识点
①
Python
脚本语言②
Excel
处理表格软件
③
IIS
Internet信息服务可以搭建服务器
④
Apache
可以搭建阿帕奇服务器。故①②不可以用来搭建本地服务器。故选A选项
2.D
【详解】
本题主要考查Python表达式的运算。a=2,b=3,b-a>0值为True,则表达式
not(b-a>0)值是False,故本题选D选项。
解析:
D
【详解】
本题主要考查
Python
表达式的运算。
a=2
,
b=3
,
b-a>0
值为
True
,则表达式
not
(
b-a>0
)
值是
False
,故本题选
D
选项。
3
.
D
【详解】
本题主要考查
Python
表达式的运算。表达式
66!=66
的值为
False
,故
print(66!=66)
结果是
False
,故本题选
D
选项。
解析:
D
【详解】
本题主要考查
Python
表达式的运算。表达式
66!=66
的值为
False
,故
print(66!=66)
结果是
False
,故本题选
D
选项。
4
.
D
【详解】
发布者:admin,转转请注明出处:http://www.yc00.com/news/1714573234a2472685.html
评论列表(0条)