涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:本月CIE_Python打卡题目
分数计算器:依次输入语文、数学、英语的分数,计算出总分以及平均分,并在一行输出。
要求:
(1)程序开始运行时,询问请输入语文成绩;
(2)输入一个数字后询问请输入数学成绩;
(3)输入一个数字后询问请输入英语成绩;
(4)最后输入英语成绩后,程序自动输出总分以及平均分,格式为:"你的总分为:*分,平均分为:*分"。(保留小数或者整数均可)
输入样例:
929892输出样例:
你的总分为:282分,平均分为:94.0分
友情提示:
由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
chinese = int(input("输入语文成绩"))math = int(input("输入数学成绩"))english = int(input("输入英语成绩"))total = chinese + math + englishavg = total / 3print("你的总分为:" + str(total) + "分,平均分为:" + str(avg) + "分")设计一个海龟绘图程序,程序效果如下图。

要求:
(1)程序开始后,弹出对话信息“请输入边数:”,要求用户输入所要绘制的图形的边数;
(2)海龟从里往外绘制图形,逆时针旋转(向左);
(3)线条初始长度为15,相邻两条边相差5(每一个线条均比前一个线条长5);
(4)线条颜色顺序依次为红色、蓝色、橘色、绿色('red','blue','orange','green')四个颜色组成的列表(必须使用列表方式进行读取);
(5)总共边数符合输入给定的数字。
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
import turtlecolors = ['red', 'blue', 'orange', 'green']num = int(input('请输入边数:'))i, j = 0, 15while i < num: turtle.pencolor(colors[i % 4]) turtle.forward(j) turtle.left(90) j += 5 i += 1turtle.done()工厂有一台检测设备用于检测器件,各个器件在不完全相同时刻送达,且检测时长各有不同。现在要按器件的送达时间(若送达时间相同则按检测时长)进行排序后再送检,送达时间和检测时间都是按升序排序。已知各个器件原始信息存在列表qj中:qj = [[2, 1], [1, 3], [0, 2], [4, 3], [12, 4], [10, 1], [4, 1]],其中器件信息[2, 1]表示器件送达时间是2,检测时长是1,其他器件信息类推。
现在编写Python程序对各个器件进行排序,并重新输出。排序后的器件列表如下,请你在划线处完善程序:
qj = [[2, 1], [1, 3], [0, 2], [4, 3], [12, 4], [10, 1], [4, 1]]for i in range(len(qj) - 1):for j in range(0, _____①_____):if _____②_____ or (qj[j][0] == qj[j + 1][0] and _____③_____): qj[j], qj[j + 1] = qj[j + 1], qj[j]print(_____④_____)参考答案:
① 本题考查的是对二维列表进行冒泡排序。外循环控制排序趟数,内循环控制排序比较的次数以及比较的起止位。外循环变量i从0开始,内循环变量j从0开始,显然终值是len(qj)-1-i,比较过程从前往后两两相比。因此①处填写的步长应为len(qj)-1-i;
② 根据题目意思,比较依据先是送达时间(从小到大),若相同则比较检测时长,因此②处表达的应该是相邻两个器件的送达时间相比,从交换语句来看第j项被交换至j+1项,从而判定②处答案为qj[j][0] > qj[j+1][0];
③ qj[j][0]表示送达时间,qj[j][1]则表示的是检测时长,从qj[j][0]==qj[j+1][0]可知此处表示送达时间相同的情况下满足何种条件第j项会和第j-1项交换,显然要比的是检测时间,故而③处填写qj[j][1] > qj[j+1][1]。
④ 根据题意,最后需要输出排序后的器件列表,因此④处填写的器件列表名称qj。
① len(qj) - 1 - i
② qj[j][0] > qj[j+1][0]
③ qj[j][1] > qj[j+1][1]
④ qj
已知某c的第n项计算步骤如下:
小明编写程序计算第n项的结果。首先从键盘输入n,然后利用上述递推关系计算结果,请完善划线处的代码。
deffc(n):if n == 1: _____①_____ else: a = 6 * n - 1 b = 8 * n + 3return _____②_____ m = int(input("请输入一个整数:"))ifnot isinstance(m, int): # 判断输入的m是否为整数 print('请输入一个整数')else: print(_____③_____) 参考答案:
① return 1
② a * fc(n - 1) / b
③ fc(m)
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
