我在玩弄Python,我想知道如何获得一串浮点数的平均值。
我可以做算术,但是如何读取一个用户输入的浮动字符串(可以是任意数量的浮点数)?
例如,如果用户使用空格输入四个数字:
14.5 12.5 22.2 99.4
发布于 2013-09-02 18:32:46
若要拆分字符串,请使用字符串的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-02 18:28:49
你可以试试这样的方法:
foos = []
foo = raw_input("Enter float:")
while(foo != ''):
foos += [float(foo)]
foo = raw_input("Enter float:")
print sum(foos)/len(foos)
发布于 2013-09-02 18:36:12
有一种方法:
string_of_floats = [float(x) for x in input().split()]
average = float(sum(string_of_floats)/len(string_of_floats))
https://stackoverflow.com/questions/18583121
复制相似问题