全国青少年软件编程(Python)等级考试试卷(一级)
一、选择题
1.下面的应用程序开发框架Python程序段运行后的输出结果是( )
List=[‘10’,25,’猕猴桃’,9,65]
Print(List[3])
A.25 B.’猕猴桃’ C.猕猴桃 D.9
2.以下哪个不是python关键字( )
A.cout B.from C.not D.or
3.在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:
4.下列Python程序段的运行结果是( )
i=0
sum=0
while i<10:
if i%2==0:
sum+=i
i+=1
print(‘sum=’,sum)
A.sum=18 B.sum=20 C.sum=22 D.sum=30
malloc函数使用方法5.韦沐沐同学利用Python软件编写“求能被3整除的数”程序,在设计算法环节,使用流程图描述算法,如右图所示,其中空白处可以填入的是( )
A.A÷3==0 B.A/3==0 C.A\3==0 D.A%3==0
6.Python表达式a=b中“=”表示 ( )
A.交换“=”左右两边变量的值
B.把“=”右边变量的值赋值给左边变量
C.把“=”左边变量的值赋值给右边变量
D.比较“=”左右两边变量的值是否相等
7.下面哪个不是Python合法的标识符( )
A.int_3 B.30XL C.self D._abc
8.以下属于计算机高级语言的是( )
A.Python B.自然语言 C.汇编语言 D.机器语言
9.以下Python中变量的命名正确的是( )
A.1a=4
B.print=5
C._A=2
D.a+b=3
10.下列选项中,可作为Python变量名的是( )
A.int B.Abc C.float D.Complex
11.以下选项中,不是Python中文件操作的相关函数是( )。
A.open () B.load ()
C.read () D.write ()
12.以下Python程序段执行后,输出结果为( )。
A.m不能被3整除 B.29不能被3整除 C.29能被3整除 D.m能被3整除
13.下列哪个语句在向上取整的函数Python中是非法的?( )
A.x=y=z=1 B.x=(y=z+1) C.x,y=y,x D.x+=y
14.在Python中,返回x的绝对值的函数是( )。
A.abs(x) B.bin(x) C.all(x) D.input(x)
15.在Python中print(-14//4)的运行结果是( )。
A.-4 B.-3.5 C.2 D.-2
二、程序填空
16.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。请根据所学知识,并上网搜索有关资料,到利用蒙特卡洛方法求解圆周率Π的原理、方法和Python程序。
17.设计完成算法之后,小C打算用所学的Python程序设计语言完成程序的编写。
(1)Python程序设计语言属于程序设计语言中的_______________。
A.机器语言 B.汇编语言 C.高级语言 D.翻译程序
(2)小C将设计好的算法转为Python程序语言(如下)。其中“Tot2=8”是一个___________,“#初始化时长费为0”是一个__________,“S<=3.3”是一个___________,“float(input(“请输入时长”))”是一个__________。
A.函数 B.表达式 C.赋值语句 D.注释语句
1 Tot1=0 #初始化时长费为0 2 Tot2=0 #java中的工具类初始化里程费为0 3 S=float(input(“请输入里程数”)) 4 T=float(input(“请输入时长”)) #输入里程数和时长 5 if(T>9): #计算时长费用 6 Tot1=(T-9)*0.2 7 if(S<=3.3): #算里程费用 8 Tot2-8 9 else: 10 Tot2=8+(S-3.3)*1.35 11 Cost-Totl+tot2 12 print(Cost) #输出总车费 |
(3)小C写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:____________________________________________________________________________________________。
NameError Traceback(most recent call last) <ipython-input-2-fc682f6f4658>in<modu1e> 9else: 10 —→11 Cost=Tot1+tot2 12 NameError:name’tot2’is not defined |
(4)经过修改之后,小C对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运行得到的结果与实际支付的费用一致,小C会心一笑验证得知程序正确无误。小C借助于计算机编写程序解决问题的这个过程是:①设计算法②编写程序③分析问题④调试运行程序,合理的顺序是_________。(填写序号即可)
(5)总结用计算机解决问题的优势主要有:_______________________________________________。
18.某企业开展“运动打卡 动动有奖”活动:若员工在本月累计运动时间30小时以下,奖励0元;达到30但不足45小时奖励300元;达到45但不足60小时奖励450元;60小时及以上奖励500元。小强用python编写程序实现相关功能:输入某员工本月累计运动时间(时),输出其能获得的奖励金额。
(1)实现上述功能的程序如下,请在划线处填入合适的代码。
t=int(input(“请输入您本月累计运动时间(时):”))
if t<0:
print(“输入错误”)
else:
if t<30:
①_
elif t<45:
m=300
②_____
m=450
else:
m=500
print(“您的奖励是:”,m)
(2)当输入“-1”时,输出信息为_________(选填,填字母:A.输入错误 / B.您的奖励是:0 / C.您的奖励是:500)
19.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用
来解决比较复杂的问题。为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。一般情况下,规模N=1时,问题的解是已知的。已知:从1到n的连续自然数相乘的积、叫做阶乘、用符号n!表示。如5!=1×2×3×4×5,规定0!=1。我们用递归算法可以较容易求n的阶乘。求n的阶乘算法可以描述如下:
n!=n*(n-1)! (n-1)!=(n-1)*(n-2)! (n-2)!=(n-2)*(n-3)!
2!=2*1! 1!=0! 0!=1
如果把n!写成函数形式,即f(n),f(n)=n*f(n-1)。如f(5)就是表示5!,求5!的过程可以写成如下形式:
f(5)=5*f(4) f(4)=4*f(3) f(3)=3*f(2) f(2)=2*f(1) f(1)=1
(问题求解)在python中用递归算法求1!+2!+……+n!(n的值为整数,从键盘输入)。请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
def f(n):
if n==0:
return 1
else:
return _________
s=0
n=int(input("请输入n:"))
for i in_______:
s=________
print(s)
20.完善代码并保存。
实现功能:从键盘输入慕课网高中10个学生的测试成绩,输出最高分和最低分。
cj=[]
for i in range(0,________):
python解析json文件 x=float(input("请输入一个数"))
cj.append(________)
print(max(cj), min(________))
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论