2025年GESP 12月认证-->Python二级真题解析(编程题1-环保能量球)
3.1 编程题1
3.1.1 题目描述:
小杨最近在玩一个环保主题的游戏。在游戏中,小杨每行走 1 公里就可以获得 1 点“环保能量”。为了激励玩家,游戏设置了“里程奖励”:小杨每行走x 公里,游戏就会额外奖励 1 点能量。现在已知小杨总共行走了 n 公里,请你帮他计算,他一共能获得多少点环保能量?
3.1.2 输入格式
第一行包含一个正整数t ,代表测试数据组数。对于每组测试数据:
3.1.3 输出格式
对于每组测试数据,输出一个整数,代表小杨获得的环保能量总数。
3.1.4 样例
3.1.4.1 输入样例
35210325
3.1.4.2 输出样例
7132
3.1.4.3 样例解释
- 对于第 1 组数据,:小杨行走获得 5 点能量。此外,他在第 2 公里和第 4 公里时各获得 1 点额外奖励,总共 点。
- 对于第 2 组数据,:行走获得 10 点。他在第 3、6、9 公里时各获得 1 点额外奖励,总共 点。
- 对于第 3 组数据,:行走获得 2 点。由于行走路程不足 5 公里,没有额外奖励,总共 2 点。
3.1.5 数据范围
对于全部数据,保证: 1 ≤t ≤100 , 1 ≤n、x ≤1000
解题思路
1. 题目理解
- 输入多组测试数据,每组包含行走公里数n和奖励间隔x,计算每组数据小杨获得的环保能量总数。并输出结果。
- 计算环保能量总数的公式:
总能量 = 行走公里数n + 额外奖励次数。额外奖励次数可以通过整数除法n//x计算得到。
2. 程序功能点识别
功能点1:(输入多组测试数据,处理每组数据的逻辑)
- 循环
t次,每次读取行走公里数n和奖励间隔x,计算总能量并输出。
功能点2:(计算单次测试数据的环保能量总数)
- 计算额外奖励次数:等于行走公里数n除以奖励间隔x的整数部分,即
n//x。 - 计算总能量:行走能量加上额外奖励次数,即
n + n//x。
参考代码
# 读取测试数据组数t = int(input())# 循环处理每组测试数据for _ in range(t): n = int(input()) # 读取行走公里数 x = int(input()) # 读取奖励间隔 total = n + n // x # 计算总能量 print(total)
考点说明
本题考查Python基础输入输出、for循环、整数除法的应用,核心是理解多组测试数据的处理逻辑,以及整数除法在计数场景的使用。