涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:本月CIE_Python打卡题目
计算题:
买本子:小明同学带了一些钱去帮同学们买本子。请根据所带的元数、单价和数量,算一算钱够不够。
要求:
(1) 程序运行后,输入三次数字(不能一次输完),这三个数字为整数,表示所带的元数(钱数)、本子的单价和数量;
(2) 输出一行,钱足够买就输出"True",钱不够买就输出"False"(不要输出引号)。
输入样例:
100
9
11
输出样例:
True
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
money = int(input("所带钱数(元,整数):"))
price = int(input("本子的单价(元,整数):"))
count = int(input("本子的数量(个,整数):"))
print(money >= price * count)
蚂蚁是自然界的大力士:一只蚂蚁能够举起自身体重40倍的物体,能够拖运自身体重1700倍的物体。蚂蚁十分勤劳,为了保证以最快速度完成搬运,能够举起物体时绝不拖运。
现已知某只蚂蚁的体重为50毫克,地上的10块食物重量(单位:毫克)为500, 60000, 25, 1200, 2200, 1800, 10000, 80000, 3000, 65。请帮蚂蚁编程计算,可以举起和需要拖运的食物各有几个?
要求:
(1)必须使用列表或者元组;
(2)输出格式为:“该蚂蚁可以举起的食物有*个,可以拖运的食物有*个。”(不含引号);
(3)提醒:根据题意,“能够举起物体时绝不拖运”,所以拖运的食物和举起的食物不会重复。
参考程序:
w = [500, 60000, 25, 1200, 2200, 1800, 10000, 80000, 3000, 65]
x = 50 * 40
y = 50 * 1700
num1 = 0
num2 = 0
for i in w:
if i <= x:
num1 = num1 + 1
if x < i <= y:
num2 = num2 + 1
print("该蚂蚁可以举起的食物有{}个,可以拖运的食物有{}个。".format(num1, num2))
某班级期中考试成绩汇总在文件“score.csv”中,包含了语文、数学、英语三科的分数,数据内容如下图显示:

小明编写了如下程序,读取成绩文件中的数据,并分别计算语文、数学、英语三科成绩的平均分,请你补全代码。
import csv
ChineseNum = 0
MathNum = 0
EnglishNum = 0
num = 0
with open('/data/score.csv', encoding='utf-8') as csv_file:
row = csv.reader(csv_file, delimiter=',')
next(row) # 读取首行
for r in row:
ChineseNum += float(____①____)
MathNum += float(____②____)
EnglishNum += float(____③____)
num += ____④____
print("语文平均成绩是:%.2f" % (ChineseNum / num))
print("数学平均成绩是:%.2f" % (MathNum / num))
print("英语平均成绩是:%.2f" % (EnglishNum / num))
参考答案:
① r[0];
② r[1];
③ r[2];
④ 1。
外卖送餐服务越来越受到人们的喜爱,外卖小哥们也成了路上的一道风景。
当顾客使用外卖软件点餐时,会出现一个预计送达时间,包括了餐厅制作食物的时间,路上的骑行时间等等。
一种常用的计算路上骑行时间的方法是用曼哈顿距离(manhatton distance)除以平均骑行速度。平面上点A(x1,y1)与点B(x2,y2)的曼哈顿距离为:|x1-x2|+|y1-y2|。
假设一名外卖小哥的平均骑行速度为30km/h。下面的程序模拟计算外卖小哥的路上骑行时间,请你补充完整。
输入:分两次输入A点和B点的坐标值
输出:A、B两点间的曼哈顿距离和路上骑行时间。
# 求绝对值
defmy_abs(n):
if ____①____
return n
else:
return _____②_____
# 主程序
v = 30# 平均骑行速度
x1, y1 = eval(input('输入A点的坐标(米),以逗号分隔:'))
x2, y2 = eval(input('输入B点的坐标(米),以逗号分隔:'))
# 计算曼哈顿距离mht
mht = _____③_____
# 计算路上骑行时间
time_on_the_road = _____④_____
print('A、B两点的曼哈顿距离为{}米'.format(mht))
print('预计路上骑行时间需要{}分钟'.format(time_on_the_road))
"""
程序运行结果:
输入A点的坐标(米),以逗号分隔:-1000,1000
输入B点的坐标(米),以逗号分隔:1000,-1000
A、B两点的曼哈顿距离为4000米
预计路上骑行时间需要8.0分钟
"""
参考答案:
① n > 0:或n >= 0:
② -n
③ my_abs(x1 - x2) + my_abs(y1 - y2)或sum([my_abs(x1 - x2), my_abs(y1 - y2)])或sum((my_abs(x1 - x2), my_abs(y1 - y2)))或其他等效答案
④ mht / 1000 / v * 60或mht / (1000 * v) * 60或mht * 60 / 1000 / v或(mht * 60) / (1000 * v)或其他等效答案
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
