0

我在玩 Python,想知道如何取一串浮点数的平均值。

我可以做算术,但我将如何读取用户输入的一串浮点数(可以是任意数量的浮点数)?

例如,如果用户输入四个带空格的数字:

14.5 12.5 22.2 99.4

4

3 回答 3

1

要拆分字符串,请使用split字符串的方法。这将为您提供一个字符串列表。然后,您可以使用列表推导将它们转换为浮点数。一旦你有一个浮点数列表,将它们相加并除以列表的长度以获得平均值。math.fsum比内置的sum浮点数更准确,所以最好使用它。

import math
# Use input() instead of raw_input() in 3.x
s = raw_input("Input numbers, delimited by spaces: ")
numbers = [float(n) for n in s.split()]
print("Average:", math.fsum(numbers) / len(numbers))
于 2013-09-03T02:32:46.320 回答
0

这是一种方法:

string_of_floats = [float(x) for x in input().split()]
average = float(sum(string_of_floats)/len(string_of_floats))
于 2013-09-03T02:36:12.520 回答
0

你可以尝试这样的事情:

foos = []
foo = raw_input("Enter float:")
while(foo != ''):
    foos += [float(foo)]
    foo = raw_input("Enter float:")

print sum(foos)/len(foos)
于 2013-09-03T02:28:49.033 回答