全国青少年软件编程(Python)等级考试试卷(一级)图文word

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

全国青少年软件编程(Python)等级考试试卷(一级)图文word
一、选择题
1.Python程序中第一行:a=int(input( )),第二行:print(a+5),运行程序后键盘输入3,输出结果是()。

A.5 B.3 C.8 D.其他
2.下面代码执行完毕后, a和b的值分别为()
A.1 和 2 B.1 和 1 C.2 和 2 D.2 和 1
3.有如下python程序段:
a=[4,5,3,6,7,8,2,9,1]
m ,c=1, 1
for i in range(1, len(a)):
if a[i]>=a[i-1]:
c+=1
m=max(m, c)
else:
c=1
print (c, m)
则程序执行后,c和m的值分别是()
A.1和1 B.1和4 C.2和4 D.3和4
4.在Python中运行下列程序,输出结果为()
for i in range (1,5):
print(i)
A.1,2,3,4,5 B.1 2 3 4 5 C.0,1,2,3,4 D.1 2 3 4 5.Python中变量的命名遵循的规则,不正确的是()
A.以字母或下划线开头,后面可以是字母、数字或下划线。

B.区分大小写
C.以数字开头,后面可以是字母、数字或下划线。

D.不能使用保留字
6.Python语句中以r或R开头的字符串表示原始字符串,则print(r"\nGood")的运行结果是()
A.新行和字符串Good B.r"\nGood" C.\nGood
D.字符r、新行和字符串Good
7.如图Python代码执行后,a,b的值分别为:()
A.5,10 B.10,5 C.5,5 D.10,10
8.在Python中,下面程序段的输出结果是()
x=9
Print(“x=”,x+1)
A.9 B.10 C.x=9 D.x= 10
9.在Python中以下语句正确的是()。

A.51jb= "51jb" B.for= "51jb" C.j,b=b,j D.//这是一段测试代码
10.下列软件中,可作为服务器操作系统的是()
A.Windows B.Python C.excel D.access
11.根据Python中变量命名遵循的规则,正确的是()
A.char21 B.2020Py C.Python D.name.ch
12.下列选项都是属于高级语言的是( )
A.汇编语言、机器语言
B.汇编语言、Basic语言
C.Basic语言、Python语言
D.机器语言、Python语言
13.python的命令行提示符是()
A.### B.>>> C./// D.C:》
14.在Python中print(8+7%2**2)的执行结果是()
A.5 B.1 C.6 D.11
15.下列python表达式结果最小的是()
A.2**3//3+8%2*3 B.5**2%3+7%2**2 C.1314//100%10 D.int("1"+"5")//3二、程序填空
16.某餐馆近期推出“消费1000元及以上享受8折优惠,1000元以下享受每满100减15优惠”的活动。

以下Python程序段实现了生成顾客消费清单的功能,请补全①②③处代码。

def gs(n): #字符串长度统一
if len(n)>=5:
n=_____ #取字符串的前5个字符
else:
n=n+" "*(5-len(n))
return n
r=1000;x=100;y=15;z=0.8 #从系统中分别获取消费额度、满和减以及打折的数值
dis=["红烧排骨","香炸刀鱼","虾仁","菜心","米饭"] #某顾客所点菜品名称
num=[1,1,1,1,3] #某顾客所点菜品数量
mon=[46,45,68,16,1] #某顾客所点菜品单价
print("菜品名称","数量","小计")
_____
for i in range(len(dis)):
print(gs(dis[i]),num[i]," ",num[i]*mon[i])
s=s+num[i]*mon[i]
if s>=r:
total=s*z
else:
______
print("消费合计:",s)
print("应收现金:",total)
17.现在有一个程序用来解决以下问题:如果有总量共1020个西瓜,第一天卖掉总数的一半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?
请将下列程序补充完整。

tc=1020
c=0
while ______________ :
tc=tc-(tc/2+2)
_____________
print(c)
18.哥德巴赫在1742年提出了以下猜想:任何一个大于2的偶数都可以写成两个质数之和,请完善代码帮助哥德巴赫验证他的猜想。

import math
def ss(n):
Flag=True
i=2
while i <= int(math.sqrt(n))and Flag:
if _____________
Flag = False
_____________
return Flag
n=int(input(“输入一个大于2的偶数”))
for i in rang(2,n//2+1):
if____________
print(str(n)+"="+str(i)+"+"+str(n-i))
如果输入“8”则结果显示_____
19.约瑟夫问题是个有名的问题:N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。

例如N=6,被杀掉的顺序是:1,4,3,0,5;最
后只剩下2这个人。

llist=
n=int(input(“请输入参与人数:”))
for i in range(0,n-1):
llist.append([i,i+1])
___________
___________
long=n
k=head
i=1
p=2
while(____ ):
if i==p-1:
t=llist[k][1]
print(llist[t][0])#索引为t的删除
__________________
if t==head:
___________________
i=1
p+=1
long=long-1
k=llist[k][1]
______________
i+=1
print(llist[head][0])
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.完善程序。

以下是猜数游戏的程序,请在画线出填写正确的内容。

import random
secret=random.randint(0,10)
print(“---猜数游戏 -----”)
cs=int(input(“你猜的数字是”))
while cs!=secret:
_______cs>secret:
_________ (“唉,猜大啦!”)
__________:
print(“嘿嘿,猜小了!”)
cs= int(input(“重新猜一个靠谱的数字是:”))
print(“游戏结束,不玩了!”)
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题主要考查Python语句执行。

运行程序后键盘输入3,即a=3,执行print(a+5)后,输出结果是8,故本题选C选项。

解析:C
【详解】
本题主要考查Python语句执行。

运行程序后键盘输入3,即a=3,执行print(a+5)后,输出结果是8,故本题选C选项。

2.C
【详解】
本题主要考查程序的执行。

a=1,b=2,a=b=2,故代码执行完毕后, a和b的值分别为2 和 2,故本题选C选项。

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

a=1,b=2,a=b=2,故代码执行完毕后, a和b的值分别为2 和2,故本题选C选项。

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

m=1,c=1,当i=1时,5>4,c+=1=2,
m=max(m, c)=2;当i=2时,3<5,c=1;当i=3时,6>3,c+=1=2,m=ma
解析:B
【详解】
本题主要考查Python程序的执行。

m=1,c=1,当i=1时,5>4,c+=1=2,m=max(m, c)=2;当i=2时,3<5,c=1;当i=3时,6>3,c+=1=2,m=max(m, c)=2;当i=4时,7>6,
c+=1=3,m=max(m, c)=3;当i=5,8>7,c+=1=4,m=max(m, c)=4;当i=6时,2<8,c=1;当i=7时,9>2,c+=1=2,m=max(m, c)=4;当i=8时,1<9,c=1,循环结束,c和m的值分别是1和4,故本题选B选项。

4.D
【详解】
本题考查Python程序执行
range(1, 5)表示1到4的值,注意不包括5。

故本题选D选项
解析:D
【详解】
本题考查Python程序执行
range(1, 5)表示1到4的值,注意不包括5。

故本题选D选项
5.C
【详解】
本题考查的是变量名的命名规则。

Python中变量的命名遵循的规则:以字母或下划线开头,后面可以是字母、数字或下划线;区分大小写;不能使用保留字。

故选项C不正确。

解析:C
【详解】
本题考查的是变量名的命名规则。

Python中变量的命名遵循的规则:以字母或下划线开头,后面可以是字母、数字或下划线;区分大小写;不能使用保留字。

故选项C不正确。

6.C
【详解】
本题主要考查Python输出语句。

“\n”表示换行,以r或R开头的字符串表示原始字符串,故print(r"\nGood")的运行结果是\nGood,故本题选C选项。

解析:C
【详解】
本题主要考查Python输出语句。

“\n”表示换行,以r或R开头的字符串表示原始字符串,
故print(r"\nGood")的运行结果是\nGood,故本题选C选项。

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

a=5,b=10,c=a=5,a=b=10,b=c=5,故代码执行后,a,b的值分别为:10和5,故本题选B选项。

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

a=5,b=10,c=a=5,a=b=10,b=c=5,故代码执行后,a,b的值分别为:10和5,故本题选B选项。

8.D
【详解】
本题主要考查Python程序输出语句。

x=9,故Print(“x=”,x+1)(“x=”是字符型直接输出,x+1计算后输出对应结果)的输出结果是x= 10,故本题选D选项。

解析:D
【详解】
本题主要考查Python程序输出语句。

x=9,故Print(“x=”,x+1)(“x=”是字符型直接输出,x+1计算后输出对应结果)的输出结果是x= 10,故本题选D选项。

9.C
【详解】
本题主要考查Python语句。

变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。

单行代码注释以#开始,语句j,b=b,j表示交换b与j的值,故本题选C选项。

解析:C
【详解】
本题主要考查Python语句。

变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。

单行代码注释以#开始,语句j,b=b,j表示交换b与j的值,故本题选C选项。

10.A
【详解】
本题主要考查计算机操作系统。

Windows是微软操作系统,可以作为服务器操作系统;Python是程序设计软件,Excel是表格处理软件,Access是数据库软件,故本题选A选项。

解析:A
【详解】
本题主要考查计算机操作系统。

Windows是微软操作系统,可以作为服务器操作系统;
Python是程序设计软件,Excel是表格处理软件,Access是数据库软件,故本题选A选项。

11.A
【详解】
本题考查的是Python变量名的命名规则。

Python中变量命名规则:由字母、数字、下划线组成,不能以数字开头,系统保留字不能作为变量名。

故本题应选A。

解析:A
【详解】
本题考查的是Python变量名的命名规则。

Python中变量命名规则:由字母、数字、下划线组成,不能以数字开头,系统保留字不能作为变量名。

故本题应选A。

12.C
【详解】
本题考查的是计算机语言。

计算机语言有:机器语言、汇编语言、高级语言。

高级语言有:Visual Basic、Pascal、C、C++、Java、Python等。

故选项C正确。

解析:C
【详解】
本题考查的是计算机语言。

计算机语言有:机器语言、汇编语言、高级语言。

高级语言有:Visual Basic、Pascal、C、C++、Java、Python等。

故选项C正确。

13.B
【详解】
本题主要考查Python命令提示符。

python的命令行提示符是>>>,故本题选B 选项。

解析:B
【详解】
本题主要考查Python命令提示符。

python的命令行提示符是>>>,故本题选B选项。

14.D
【详解】
本题考查的是Python表达式。

**是幂次方优先级最高,%是求余。

8+7%2**2=8+7%4=8+3=11,print是输出语句。

故选项D正确。

解析:D
【详解】
本题考查的是Python表达式。

**是幂次方优先级最高,%是求余。

8+7%2**2=8+7%4=8+3=11,print是输出语句。

故选项D正确。

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

2**3//3+8%2*3=8//3+0*3=2,
5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=
解析:A
【详解】
本题主要考查Python表达式的运算。

2**3//3+8%2*3=8//3+0*3=2,
5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=3,int("1"+"5")//3=5,故本题选A选项。

二、程序填空
16.n[0:5] s=0 total=s-s//x*y
【详解】
本题主要考查Python程序的执行与调试。

①此处通过条件分支结构取字符串n的前5个字符,当 len(n)>=5时,取n= n[0:5],即索引为0、1、2、3、4,故填n[0:5]。

②用变量s 统计消费合计,初值为0,故填s=0。

③此处else部分处理1000元以下享受每满100减15优惠。

应付金额用total统计,变量r保存消费额度,x和y分别是满和减,变量s是消费合计,故填total=s-s//x*y。

17.tc>0c=c+1 或者c+=1
【详解】
本题主要考查Python程序执行与调试。

①变量tc保存西瓜数量,当tc大于0时,一直循环,故第一空填tc>0。

②变量c保存天数,每循环一次,变量c递增1,故第二空填c=c+1 或者c+=1。

18.n%i==0: i+=1 ss(i) and ss(n-i): 8=3+5
【详解】
本题主要考查Python程序的执行与调试。

①函数ss(n)用来判断n是否为质数,若是则返
回True,否则返回False,此处是通过while循环逐个判断n是不是能整除i,故填
n%i==0:。

②若不满足if条件,则i递增,继续循环判断,故填i+=1。

③此处判断i与n-i是否都是质数,若是,则表明该偶数可以写成两个质数之和,并输出,故填ss(i) and ss(n-i):。

④如果输入“8”则结果显示8=3+5。

19.llist.append([n-1,0]) head=0 long>1 head=llist[k][1] llist[k][1]=llist[t][1]
k=llist[k][1]
【详解】
本题主要考查Python程序执行与调试。

①for循环体是将索引0-n 追加到llist中,此处是循环体执行完,将末元素与首元素的索引加入到llist中,故填llist.append([n-1,0])。

②head是列表头,初始化为0,故填head=0。

③最后剩下一个,其余人都将被杀掉,故循环条件是long>1,变量long控制元素个数,故填long>1。

④索引为t的删除后,此处是更新head值,故填head=llist[k][1]。

⑤删完后,如果t等于head,需要更新索引k,将索引t的值赋给变量k,故填llist[k][1]=llist[t][1]。

⑥如果t不等于head,也需要更新索引k,故填k=llist[k][1]
20.0
【详解】
本题主要考查Python中While循环结构。

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

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

【点睛】
21.if print else
【详解】
本题主要考查Python程序的执行与调试。

①secret是随机生成的数,sc是你猜的数字,此处是判断cs与secret的大小,故填if。

②如果cs大于secret,则输出“唉,猜大啦”,故填print。

③如果cs小于secret,输出“嘿嘿,猜小了!”,故填else。

相关文档
最新文档