编写一个 Python 程序,该程序将文本文件作为输入并返回文件中所有数值的平均值。并非文件中的每一行都是数字。
时间: 2024-05-05 13:15:02 浏览: 22
以下是一个示例程序:
```python
def calculate_average(file_path):
total = 0
count = 0
with open(file_path, 'r') as file:
for line in file:
try:
number = float(line.strip())
total += number
count += 1
except ValueError:
pass
if count == 0:
return 0
else:
return total / count
file_path = 'example.txt'
average = calculate_average(file_path)
print(f'The average value in {file_path} is: {average}')
```
在这个程序中,我们定义了一个名为 `calculate_average` 的函数,它接受一个文件路径作为参数并返回文件中所有数值的平均值。我们使用 `with open(file_path, 'r') as file:` 来打开文件,在循环中逐行读取每个行。我们使用 `try` 和 `except` 来检查当前行是否可以转换为浮点数。如果是,我们将当前行的值添加到 `total` 中,并增加 `count` 的值。如果不是,我们跳过当前行。最后,我们检查 `count` 是否为零,如果是,则返回 0,否则返回 `total` 除以 `count` 的结果。
在主程序中,我们定义了一个文件路径,并将其传递给 `calculate_average` 函数,然后打印结果。