你可以使用以下代码示例来解决这个问题:
def is_number(text):
try:
float(text)
return True
except ValueError:
return False
def calculate_average(filename):
with open(filename, 'r') as file:
numbers = [float(line.strip()) for line in file if is_number(line.strip())]
total = sum(numbers)
average = total / len(numbers)
print("Average: ", average)
calculate_average("text_file.txt")
在上面的代码中,我们定义了两个函数:is_number
和calculate_average
。is_number
函数用于判断一个字符串是否可以转换为数字。calculate_average
函数接受一个文件名作为参数,打开该文件并读取其中的文本行。然后,使用列表推导式将其中可转换为数字的行转换为浮点数,并计算数字的总和和平均值。最后,打印平均值。
你需要将text_file.txt
替换为你实际使用的文本文件的文件名。确保该文件包含文本和数字的行,每行一个数字。