2020年12月电子学会青少年软件编程(Python四级)等级考试试卷
操作/编程
四级
2020
2022-10-29 16:29:15
52次
一、编程题
要求:设计一个算法,如果一个数从左边读和从右边读都是同一个数,就称为回文数。例如9889就是一个回文数,求对于用户输入的一个非零正整数判断是否为回文数。
根据上述算法思想,补全下列代码。
示例:输入9889,返回9889是回文数;输入34542,返回34542不是回文数。
i=input("请输入一个非零正整数:")
n=len(i)
if ① :
for j in range(int((n+1)/2)):
if ② :
if n==2*j+1:
print("{}是回文数".format(i))
else:
print("{}不是回文数".format(i))
break
else:
for j in ③ :
if i[j]==i[n-j-1]:
if ④ :
print("{}是回文数".format(i))
else:
print("{}不是回文数".format(i))
break
【知识点】 电子学会Python四级
要求:设计一个算法,对于给定两个正整数,求它们的最大公约数。
根据上述算法思想,补全下列代码。
函数名:gcd(x,y)
参数表:x-- 整数x,y-- 整数y。
返回值:它们的最大公约数。
示例:当x=6,y=9时,返回3。
def gcd(x,y):
if ① :
return y
else:
return ②
sums = 0
m = int(input('请输入第一个正整数m = '))
n = int(input('请输入第二个正整数n = '))
sums= ③
print("m和n两个正整数的最大公约数是:%d"% sums)
【知识点】 电子学会Python四级
任务:利用分治思想,在50个同学成绩(成绩不重复)中查找指定成绩的同学的编号,学生成绩存储在列表cj中;待查找的成绩由键盘输入到变量key中。根据上述算法思想,编写自定义函数完成程序功能,完善空白处代码。
"""
函数名def search(lft,rgt,key)
参数表:整数lft,rgt表示待查找列表的左右边界,key是待查找的成绩
返回值:找到返回key所在编号,否则返回-1.
"""
def search(lft,rgt,key):
if lft>rgt:
return -1
mid = ①
if cj[mid] == key:
return mid
elif ② :
lft = mid + 1
else:
rgt = mid - 1
③
import random
cj = [random.randint(1,100) for i in range(50)]
cj.sort()
key = int(input("输入待查找的成绩"))
pos = search(0,49,key)
print(pos)
【知识点】 电子学会Python四级
