要在Python中计算文本文件中的最小值、最大值和平均值,首先需要从文件中读取数据,然后将这些数据转换为数值类型
def read_numbers_from_file(file_path):
numbers = []
try:
with open(file_path, 'r') as file:
for line in file:
try:
number = float(line)
numbers.append(number)
except ValueError:
print(f"Cannot convert '{line.strip()}' to a number.")
except FileNotFoundError:
print(f"File '{file_path}' not found.")
return numbers
def calculate_min_max_avg(numbers):
if not numbers:
return None, None, None
min_value = min(numbers)
max_value = max(numbers)
avg_value = sum(numbers) / len(numbers)
return min_value, max_value, avg_value
if __name__ == '__main__':
file_path = "input.txt" # Replace with the path to your input file
numbers = read_numbers_from_file(file_path)
min_value, max_value, avg_value = calculate_min_max_avg(numbers)
if min_value is not None:
print(f"Minimum value: {min_value}")
print(f"Maximum value: {max_value}")
print(f"Average value: {avg_value}")
else:
print("No numbers found in the file.")
在此示例中,read_numbers_from_file
函数从指定的文件路径读取数据,并尝试将每一行转换为浮点数。如果转换失败,将跳过该行并显示一条警告消息。
calculate_min_max_avg
函数接受一个数字列表(从文件中读取的数据),并计算最小值、最大值和平均值。如果列表为空,则返回None值。
最后,主程序部分从指定的文件路径读取数据,并计算并打印最小值、最大值和平均值。如果文件中没有找到数字,将显示一条消息。
请注意,这个示例假设输入文件中的每一行都包含一个可以转换为浮点数的数字。如果文件格式不同,可能需要相应地调整代码。
领取专属 10元无门槛券
手把手带您无忧上云