当前位置:首页>python>【第36期】21天养成编程习惯:Python刷题第17天

【第36期】21天养成编程习惯:Python刷题第17天

  • 2026-09-22 10:23:21
【第36期】21天养成编程习惯:Python刷题第17天

跟老马一起“升级打怪”学编程!

  • 涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试
  • 活动内容:提供不同等级的真题供小朋友们选择练习
  • 备考建议:根据自己备考的等级选择相应题目
  • 附加价值:可作为白名单比赛的备考训练
  • 本月打卡:本月CIE_Python打卡题目

Day17:CIE一级2022.03_编程题36

计算题:

买本子:小明同学带了一些钱去帮同学们买本子。请根据所带的元数、单价和数量,算一算钱够不够。

要求:

(1) 程序运行后,输入三次数字(不能一次输完),这三个数字为整数,表示所带的元数(钱数)、本子的单价和数量;

(2) 输出一行,钱足够买就输出"True",钱不够买就输出"False"(不要输出引号)。

输入样例:

100
9
11

输出样例:

True

参考程序:

注意:仅供参考,考生可以自行设计,结果符合题意即可。

money = int(input("所带钱数(元,整数):"))
price = int(input("本子的单价(元,整数):"))
count = int(input("本子的数量(个,整数):"))
print(money >= price * count)

Day17:CIE二级2023.12_蚂蚁觅食

蚂蚁是自然界的大力士:一只蚂蚁能够举起自身体重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))

Day17:CIE三级2023.05_编程题36

某班级期中考试成绩汇总在文件“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。


Day17:CIE四级2021.09_第38题

外卖送餐服务越来越受到人们的喜爱,外卖小哥们也成了路上的一道风景。

当顾客使用外卖软件点餐时,会出现一个预计送达时间,包括了餐厅制作食物的时间,路上的骑行时间等等。

一种常用的计算路上骑行时间的方法是用曼哈顿距离(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天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。

最新文章

随机文章