我正在搞乱Python,想知道如何取一串浮点数的平均值。
我可以进行算术但是如何读取用户输入的浮点字符串(可以是任意数量的浮点数)?
例如,如果用户输入四个带空格的数字:
14.5 12.5 22.2 99.4
答案 0 :(得分: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))
答案 1 :(得分:0)
foos = []
foo = raw_input("Enter float:")
while(foo != ''):
foos += [float(foo)]
foo = raw_input("Enter float:")
print sum(foos)/len(foos)
答案 2 :(得分:0)
这是一种方式:
string_of_floats = [float(x) for x in input().split()]
average = float(sum(string_of_floats)/len(string_of_floats))