少儿编程 python 三级 程序题试卷2022-04-18
试卷答题时间120分钟
开卷答题,每道题目按照题中的文件名进行保存,答题结束之后,把所有程序文件打包,压缩包名字按照:姓名-pylv3-2022-04-18 格式进行命名,然后把压缩包提交给老师。

开发程序,功能是重复不断地获取16进制颜色列表;
程序提示输入颜色列表中颜色数量n,然后程序自动计算n个随机的16进制颜色;
16进制颜色的取值范围在0x000000到0xffffff;
计算完成之后,在一行上输出这n个颜色;
如果在输入n的时候输入了退出,则输出“程序结束啦,欢迎下次使用”;
注:16进制颜色的前缀是#,不是通常的16进制数字前缀0x,可用任意方式做进制的转换。
运行样例---------
请输入颜色数量n:3
16进制颜色表:['#a64774', '#13ee03', '#3b0465']
请输入颜色数量n:5
16进制颜色表:['#e4aad5', '#244f93', '#db0cad', '#6f88e2', '#c41237']
请输入颜色数量n:退出
程序结束啦,欢迎下次使用
题目2,文件名:持续的选择排序开发程序,自定义选择排序函数sortSelect,函数唯一的参数是一个列表a;
函数的功能是对传入的列表进行选择排序,数据排序按照降序排序,函数无返回值;
程序能持续不断地运行,每次要求输入一行正整数,用英文逗号分隔;
输入完成之后,调用自定义函数sortSelect进行排序,输出降序排序的列表内容;
如果输入的是退出,则输出“程序结束啦,欢迎下次使用”,然后终止程序。
运行样例-------------
请输入一行正整数:3,1,4,5,9
排序之后:[9, 5, 4, 3, 1]
请输入一行正整数:4,5,3,2,9
排序之后:[9, 5, 4, 3, 2]
请输入一行正整数:退出
程序结束啦,欢迎下次使用
题目3,文件名:学生总分排名存档开发程序,把原始的学生成绩表按照总成绩进行从高到低排序;
然后把排序的数据表保存到,“学生成绩排序表.csv”;
排序方式请使用冒泡排序;
原始的成绩表如下,字段含义:姓名,语文,数学,英语
----------------------
张三,98,90,95
李四,78,77,79
王二,92,89,87
赵五,96,97,94
刘六,91,100,98
-----------------------
原始的成绩表数据不需要建立数据文件读入,可以直接在程序中作为初始化数据完成;
要保存的学生成绩排序表.csv,字段分别是:姓名,语文,数学,英语,总分
例如下面的格式:
xx姓名,语文分数,数学分数,英语分数,总分
...
运行样例--------------------------
学生成绩表保存完毕,请及时查看!
题目4,文件名:随机颜色-16进制
使用海龟模块绘制10行10列方块,每个方块的边长是50;
所有方块构成的整体图形位于画布的中心位置;
方块的线条粗细是2,线条颜色是黑色;
左下角是第0行第0列,右上角是第9行第9列;
格子的序号从0开始,从左下角到右上角逐行编号;
单元格的填充颜色是程序计算出来的,每个颜色是随机颜色;
用16进制颜色控制算式如下:
---> #000000-#ffffff之间的随机16进制字符串,#字符后面部分必须6位;
在每个单元格中显示其16进制颜色的文字;
在原点位置,绘制一个直径8的红色圆点;
图形绘制完毕之后,隐藏海龟;
注:turtle模块的pencolor(),fillcolor(),color()函数中的颜色值可以用如下几种方式设置,
1,用颜色名称设置颜色,例如pencolor("red"),
2,用十六进制值来设置颜色,例如pencolor("#ff0000"),最左两位控制红色,中间两位绿色,最右两位蓝色,每段值范围0x00-0xff,本题中要采用此方法进行颜色控制,
3,用RGB值来设置颜色,RGB表示红绿蓝,例如pencolor((1,0,0)),其中(1,0,0)是一个元组,表示红绿蓝颜色值,每种颜色值从0到1
程序运行效果图
题目5,文件名:无人机运送区判断
星空勇士公司的无人机运输系统,地图数据文件的文件名是:mapData.txt
数据文件是10行10列的文本内容
oooooooooo
oAAAoooooo
oAAAooBBBo
ooooooBBBo
oooooooooo
oCCCoooooo
oCCCoooooo
oCCCooDDDo
ooooooDDDo
oooooooooo
表示当前任务的地图上从上到下有10行10列单元区域,行列号都是从0开始
行号从上到下分别是0,1,2,3...
列号从左到右分别是0,1,2,3...
地图数据中每个字符的含义如下:
o空白区
A办公大楼
B生产厂区
C厂内公园
D职工公寓
开发程序,输入行号和列号,
如果行列号对应的字符是A或D,则打印:可以运送至此区域,这里是xx。
如果行列号对应的字符是o,B,C,则打印:不能运送至此区域,这里是xx。
要求程序可以重复执行;
行号或列号为负数,则输出"程序结束啦,欢迎下次使用";
本程序需要的mapData.txt保存在和程序同级目录下。
运行样例--------------------
输入行号:0
输入列号:0
不能运送至此区域,这里是:空地。
输入行号:8
输入列号:8
可以运送至此区域,这里是:职工公寓。
输入行号:-1
输入列号:-1
程序结束啦,欢迎下次使用