我在玩 Python,想知道如何取一串浮点数的平均值。
我可以做算术,但我将如何读取用户输入的一串浮点数(可以是任意数量的浮点数)?
例如,如果用户输入四个带空格的数字:
14.5 12.5 22.2 99.4
我在玩 Python,想知道如何取一串浮点数的平均值。
我可以做算术,但我将如何读取用户输入的一串浮点数(可以是任意数量的浮点数)?
例如,如果用户输入四个带空格的数字:
14.5 12.5 22.2 99.4
要拆分字符串,请使用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))
这是一种方法:
string_of_floats = [float(x) for x in input().split()]
average = float(sum(string_of_floats)/len(string_of_floats))
你可以尝试这样的事情:
foos = []
foo = raw_input("Enter float:")
while(foo != ''):
foos += [float(foo)]
foo = raw_input("Enter float:")
print sum(foos)/len(foos)