涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:本月CIE_Python打卡题目
“天狗吃月亮”是一个古老的神话,以前古人不了解月食这一现象,所以说月亮被狗吃了,天狗吃月亮是古人对“月食”这一天文现象的简称。月食是自然界的一种现象,当太阳、地球、月球三者恰好或几乎在同一条直线上时(地球在太阳和月球之间),太阳到月球的光线便会部分或完全地被地球遮挡,产生月食。请你设计一段程序完成下列图片的月食现象。
要求:
(1)海龟的初始位置的坐标为(0,0),月食现象的图片需在整个画布中完整呈现;
(2)月食现象由两个圆或点组成,分别为半径不同的黄色和白色的圆或点;
(3)绘制半径为150的圆或点,并填充颜色为黄色,该图形的中心位置为画布的正中心位置(0,0);
(4)绘制半径为75的圆或点,并填充颜色为白色,该图形的中心位置坐标为(150,0)。

参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
方法一:
import turtleturtle.pencolor('yellow')turtle.dot(300)turtle.pencolor('white')turtle.penup()turtle.goto(150, 0)turtle.pendown()turtle.dot(150)turtle.done()方法二:
import turtleturtle.penup()turtle.goto(0, -150)turtle.pendown()turtle.color('yellow')turtle.begin_fill()turtle.circle(150)turtle.end_fill()turtle.penup()turtle.goto(150, -75)turtle.pendown()turtle.color('white')turtle.begin_fill()turtle.circle(75)turtle.end_fill()turtle.done()可以对任何一个自然数进行若干次运算,最终都可以变为1。
运算规则如下:
(1)若该数是偶数,则变为原数的一半;
(2)若该数是奇数,则变为原数的3倍加1;
(3)重复(1)(2),直到该数变为1。
编写程序实现如下功能:输入一个大于1的自然数,计算按照上述方法最终变换为1共经过的变换次数,并输出变换次数。(输出格式为:直接输出次数即可)
示例1:若输入自然数8,则输出结果为:3。
示例2:若输入自然数5,则输出结果为:5。
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
num = int(input("输入一个大于1的自然数:"))count = 0while num > 1:if num % 2 == 0: num = num // 2else: num = num * 3 + 1 count += 1print(count)标准考试答题卡一般采用2B铅笔填涂,填涂好的答题卡经过扫描后得到相应的数字化图像,再通过光学识别,完成答题卡信息数据的采集、分析与统计。
计算机判断答题卡中信息点被填涂的标准是灰度值小于132为黑色,灰度值大于等于132为白色。灰度值计算公式:灰度值 = 0.299 × 红色分量(R)+ 0.587 × 绿色分量(G)+ 0.114 × 蓝色分量(B),若分别输入 n 个信息点的RGB颜色值,则其判断程序如下:
n = int(input("请输入信息点个数:"))count = 0for i in range(1, n + 1): R = int(input("请输入红色分量:")) __①___ B = int(input("请输入蓝色分量:")) Gray_scale = __②___if __③___: print("黑色") count = count + 1else: print("白色")print("黑色像素总共有:" + __④___ +"个")参考答案:
① G = int(input("请输入绿色分量:")) 或等效答案;
② 0.299 * R + 0.587 * G + 0.114 * B 或等效答案;
③ Gray_scale < 132 或等效答案;
④ str(count) 或等效答案。
辗转相除法求最大公约数,下列函数是用递归算法实现的,请完善横线处的代码。
defgcd(a, b): m = a % bif m == 0:return _____①_____else: a = b _____②_____return _____③_____print(gcd(12, 18))参考答案:
① b
② b = m
③ gcd(a, b)
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
