涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:七月CIE_Python打卡题目
描述:
假设孩子的身高完全由爸爸和妈妈的遗传因素决定,预测一下长大后孩子的身高是多少?
孩子获得了爸爸妈妈各一半的遗传基因,所以可以用以下公式计算孩子未来的身高。(单位:厘米)
孩子未来的身高=(爸爸的身高+妈妈的身高+13乘以性别系数)/2
如果是“男孩”,性别系数值为“1”;如果是“女孩”,则性别系数值为“-1”。
输入格式:
第一行输入一个数字,代表爸爸的身高第二行输入一个数字,代表妈妈的身高第三行输入一个数字(1或-1),代表性别系数(输入使用input(),并有相应提示信息)
输出格式:
输出孩子未来的身高。(输出使用print(),并有相应提示信息)
参考程序:
注意:仅供参考,画法和顺序,考生可以自行设计,结果符合题意即可。
f = input("请输入爸爸的身高:")m = input("请输入妈妈的身高:")s = input("请输入性别系数:")f = float(f)m = float(m)s = float(s)h = (f + m + 13 * s) / 2print("孩子未来的身高:", h, "(厘米)")在一个简单的 AI 智能聊天机器人场景中,用户会输入一段聊天内容,机器人需要判断用户的意图是否与预设的关键词相关。
预设关键词列表为 ["你好", "再见", "谢谢"](需要在程序中明确预设)。如果用户输入的内容中包含任何一个预设关键词,机器人将按照以下规则做出相应回复:
(1)若包含 “你好”,优先回复 “你好呀!有什么我可以帮忙的?”;
(2)若包含 “再见”(且不包含 “你好”),回复 “再见啦!祝你有个好心情!”;
(3)若包含 “谢谢”(且不包含 “你好” 和 “再见”),回复 “不客气呀!能帮到你我很开心。”;
(4)如果不包含任何关键词,则回复 “不太明白你的意思呢,可以换个说法吗?”。
友情提示:
由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
# 预设关键词列表keywords = ["你好", "再见", "谢谢"]# 获取用户输入user_input = input("请输入聊天内容:")# 根据关键词判断并输出回复if "你好" in user_input: print("你好呀!有什么我可以帮忙的?")elif "再见" in user_input: print("再见啦!祝你有个好心情!")elif "谢谢" in user_input: print("不客气呀!能帮到你我很开心。")else: print("不太明白你的意思呢,可以换个说法吗?")学校某年级跳绳抽测(每个班抽测5名同学)后,老师将有效数据导出为ts.csv文件进行保存,部分数据如图所示,现要编程统计共有多少同学在100个以下,请补全代码:

import csvwith open("/data/ts.csv")as _____①_____: rs = list(csv.reader(file)) _____②_____for i in rs[1:]:if int(_____③_____) < 100: c += 1 print("该年级抽测中共有" + str(c) + "人低于100个")参考答案:
① file 或等效答案;
② c=0 或等效答案;
③[1] 或等效答案。
未来居民社区设计有一个机器人服务中心,假如某社区有若干栋住宅楼,每栋楼的位置可以由坐标表示,其中坐标表示居民楼的东西向位置,坐标表示居民楼的南北向位置。这里约定,社区中任意2点和的之间的距离使用数值来度量。要求为社区选择建立机器人服务中心的最佳位置,使各个居民点到机器人服务中心的距离总和最小。以下是机器人服务中心的选址程序,采用取各坐标中位数的方法来确定中心位置,请补充完成该程序。
n = int(input("请输入居民楼总数:"))hx = []hy = []for i in range(n): x, y = map(int, input("请输入居民楼的x和y坐标:").split(",")) hx.append(x) hy.append(y)hx = sorted(_____①_____) hy = sorted(_____②_____) if n % 2 == 0: # 偶数情况,求中位数 sn = int(n / 2) x0 = int((hx[sn] + hx[sn - 1]) / 2) y0 = int((hy[sn] + hy[sn - 1]) / 2)else: # 奇数情况,求中位数 sn = int((n - 1) / 2) x0 = _____③_____ y0 = _____④_____ sumx = 0sumy = 0for j in hx: dx = abs(x0 - j) sumx += dxfor k in hy: dy = abs(y0 - k) sumy += dyprint("选址点的坐标是:(%d,%d)" % (x0, y0))print("选址到各楼的累计距离是:", sumx + sumy)参考答案:
① hx
② hy
③ hx[sn]
④ hy[sn]
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
