问题描述
编写一个程序,读取输入文件中的若干数字,计算它们的平均值并输出结果。
输入输出示例
输入文件:numbers.txt,内容为包含若干整数的文本文件。
输出结果:average = 4.5(假设输入数字为 2, 3, 5, 6 的平均值)。
思路分析
- 文件读取
需要从文件中读取数字内容,处理成列表或数组。 - 数据处理
将读取的数字转换为浮点数,并计算平均值。 - 输出结果
将平均值格式化为输出格式,如浮点数并输出结果。
代码实现
# 读取文件内容并计算平均值
import sys
def calculate_average(numbers):
# 将读取的数字转换为浮点数
try:
# 检查输入文件是否存在并处理异常
with open('numbers.txt', 'r') as file:
numbers = list(map(float, file.read().split()))
# 计算平均值
average = sum(numbers) / len(numbers)
# 输出结果
print(f"average = {average:.2f}")
except FileNotFoundError:
print("文件未找到,请确保文件路径正确")
except ZeroDivisionError:
print("平均值计算时除数为零,需检查数据完整性")
# 示例调用
if __name__ == "__main__":
# 读取文件内容并计算平均值
calculate_average([2.0, 3.0, 5.0, 6.0])
总结
该程序通过文件读取和数据处理实现平均值的计算,涉及文件读取、数据处理和输出格式化。该实现展示了编程实践的重要性,并强调了文件处理和数据处理技能的学习价值。
学习价值
该程序涉及文件读取、数据处理和输出结果的格式化,适用于中级以下程序员在1~3天内完成。
可运行性
代码通过文件读取、平均值计算和结果输出,可直接运行。在Python环境中,该程序能正确读取numbers.txt文件并输出结果。