涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:本月CIE_Python打卡题目
按照要求绘制一个五角星:
1、海龟初始位置的坐标为(0,0);
2、设置画笔大小为5;
3、画笔颜色为红色(red);
4、五角星填充颜色为黄色(yellow);
5、五角星大小不限,但是要能清晰看出是五角星,并且完全在考试平台上显示出来。
提示:五角星每个角为36度。

参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
import turtleturtle.pensize(5)turtle.pencolor('red')turtle.fillcolor('yellow')turtle.begin_fill()for i in range(5): turtle.forward(200) turtle.right(144)turtle.end_fill()turtle.done()将四句唐诗用逗号和句号连接,完整输出这首诗,必须使用变量的方法编写程序。
jvzi1 = "白日依山尽"jvzi2 = "黄河入海流"jvzi3 = "欲穷千里目"jvzi4 = "更上一层楼"输出应为"白日依山尽,黄河入海流。欲穷千里目,更上一层楼。"
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
jvzi1 = "白日依山尽"jvzi2 = "黄河入海流"jvzi3 = "欲穷千里目"jvzi4 = "更上一层楼"print("{},{}。{},{}。".format(jvzi1, jvzi2, jvzi3, jvzi4))若要生成一个由若干小写字母组成的互不重复的随机数组,已知小写字母的ASCII码值为97~122整数范围,并将其进行从小到大输出,如图所示,请将相关程序补充完整。
import random # random是随机数模块n = int(input("请输入元素个数(不超过26):"))a = []# 产生不重复的随机数组for i in range(n): x = random.randint(97, 122) # 产生97-122之间的随机整数while chr(x) in a: x = random.randint(97, 122) a.append(____①____)print(a)# 将各个元素进行排序输出for i in range(n - 1): k = ifor j in range(____②____, n):if a[k] > a[j]: k = ____③____if i != k: a[i], a[k] = ____④____ print("该随机数组从小到大排列为:", a)参考答案:
本题主要考查选择排序。程序的第一部分是产生不重复的字母组成的数组。由于x是97~122中的随机整数,故追加到a列表中的元素应在x的基础上将其转化为字符,故①空填写chr(x);在选择排序中,外循环控制排序趟数,内循环控制排序次数,不难看出,i的取值范围为0~n-2,因此j每次从i的下一个位置开始至最后,故②处填写i+1;根据选择排序的原理,在j位置上找到比k位置更小的元素,则k移至该位置,故③处填写为j;在某趟排序过程中,当全部元素比较结束,应在最小元素位置上,需要将其交换到相应的i位置上,故④位置答案应为a[k], a[i]。
① chr(x);
② i+1;
③ j;
④ a[k], a[i]。
从键盘上分别输入要查找和替换的字符串,对文本文件进行查找与替换,替换后保存到新的文本文件中。
思路:输入待查找字符串s,需查找子字符串key和替换字符串new,通过调用自定义函数replace实现替换。完善划线处代码。
s = input("请输入待查找的字符串:")key = input("请输入需查找的子字符串:")new = input("请输入要替换的字符串:")deffindstr(key, s, begin):for i in range(begin, len(s) - len(key) + 1):if s[i:_____①_____] == key: return ireturn -1defreplace(key, new, s): begin = 0while begin < _____②_____: pos = findstr(key, s, begin)if pos == -1:breakelse: s = s[0:pos] + new + s[pos + len(key):_____③_____] begin = pos + len(key)return srst = _____④_____ # 调用函数替换字符print(rst)参考答案:
① i + len(key)或等价答案
② len(s) - len(key) + 1或等价答案
③ len(s)或等价答案
④ replace(key, new, s)或等价答案
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
