涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:本月CIE_Python打卡题目
夏天快到了,又到了吃西瓜的季节。西瓜是夏天的代表,让人在它的色香味中,感受到夏天的魅力。请你用Python,画出如下图所示的西瓜:

要求:
(1)西瓜左上角坐标为,西瓜红壤左上角坐标为;
(2)整个西瓜半径为100,西瓜红壤半径为90;
(3)西瓜绘制完成后,隐藏画笔。
思路提示:
(1)先画绿色瓜皮,由于西瓜是向上的,所以,在画绿皮之前,需要把画笔右转90度(right(90));
(2)右转90度后开始画绿皮,画完后画笔回到坐标,以便形成完整的半圆,以便填充绿色;
(3)画笔移动到(10,0)坐标;
(4)将画笔右转180度(right(180));
(5)右转180度后开始画红壤,画完后画笔回到(10,0)坐标,以便形成完整的半圆,以便填充红色;
(6)隐藏画笔。
友情提示:
考试平台暂不支持画笔命名:Pen()命令,同学们可以选用其他命令;当然如果使用了Pen()命令,只要程序是正确的,阅卷时依然按照正确处理。
参考程序:
import turtle# 绘制西瓜绿皮turtle.right(90)turtle.fillcolor("green")turtle.begin_fill()turtle.circle(radius=100, extent=180)turtle.home()turtle.end_fill()# 到红壤左上角坐标turtle.forward(10)# 绘制西瓜红壤turtle.right(90)turtle.fillcolor("red")turtle.begin_fill()turtle.circle(radius=90, extent=180)turtle.goto(10, 0)turtle.end_fill()# 绘制结束,隐藏画笔turtle.hideturtle()turtle.done()将四句唐诗用逗号和句号连接,完整输出这首诗,必须使用变量的方法编写程序。
jvzi1 = "白日依山尽"jvzi2 = "黄河入海流"jvzi3 = "欲穷千里目"jvzi4 = "更上一层楼"输出应为"白日依山尽,黄河入海流。欲穷千里目,更上一层楼。"
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
jvzi1 = "白日依山尽"jvzi2 = "黄河入海流"jvzi3 = "欲穷千里目"jvzi4 = "更上一层楼"print("{},{}。{},{}。".format(jvzi1, jvzi2, jvzi3, jvzi4))工厂有一台检测设备用于检测器件,各个器件在不完全相同时刻送达,且检测时长各有不同。现在要按器件的送达时间(若送达时间相同则按检测时长)进行排序后再送检,送达时间和检测时间都是按升序排序。已知各个器件原始信息存在列表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
换位密码法是将明文中的字符位置通过一定的规则重新排列从而得到密文的一种加密方法。某换位密码法加密方法如下:先把明文按照固定长度(4位一组)进行分组,然后对每一组的字符进行换位操作,从而得到密文。例如,字符串"ceit",使用密钥1432进行加密时,首先将字符串以 4 个字符为一组进行分组,然后对每组的字符进行换位,第1个和第3个字符位置不变,把第2个字符和第4个字符交换位置,从而得到密文"ctie"。小张编写的程序如下,请完善划线处的代码:
defjiami(yw, key): result = ''for i in range(0, _____①_____, len(key)): s1 = yw[i:i + len(key)]for j in range(_____②_____): result = result + _____③_____return resultyw = input('请输入待加密的明文:')key = input('请输入密钥:')mw = _____④_____print(mw)运行结果如下图所示:
请输入待加密的明文:abcdefghwxyz请输入密钥:4321dcbahgfezyxw参考答案:
① len(yw)
② len(key)
③ s1[int(key[j]) - 1]
④ jiami(yw, key)
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
