当前位置:首页>python>【第39期】21天养成编程习惯:Python刷题第09天

【第39期】21天养成编程习惯:Python刷题第09天

  • 2026-10-11 07:57:54
【第39期】21天养成编程习惯:Python刷题第09天

跟老马一起“升级打怪”学编程!

  • 涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试
  • 活动内容:提供不同等级的真题供小朋友们选择练习
  • 备考建议:根据自己备考的等级选择相应题目
  • 附加价值:可作为白名单比赛的备考训练
  • 本月打卡:本月CIE_Python打卡题目

Day09:CIE一级2023.09_编程题36

分数计算器:依次输入语文、数学、英语的分数,计算出总分以及平均分,并在一行输出。

要求:

(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) + "分")

Day09:CIE二级2022.06_编程题37

设计一个海龟绘图程序,程序效果如下图。

要求:

(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()

Day09:CIE三级2023.09_编程题38

工厂有一台检测设备用于检测器件,各个器件在不完全相同时刻送达,且检测时长各有不同。现在要按器件的送达时间(若送达时间相同则按检测时长)进行排序后再送检,送达时间和检测时间都是按升序排序。已知各个器件原始信息存在列表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


Day09:CIE四级2023.05_第36题

已知某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天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。

最新文章

随机文章