-2

我遇到的问题是我不知道如何修复我得到的这部分代码"TypeError: Can't convert 'float' object to str implicitly"

z = ((a+b+c+d+e+f+g+h+i+j+k+l)/12)

我正在运行 python 3.4.3

如果有人知道我可以为标准偏差导入哪些模块或意味着这会有所帮助

4

2 回答 2

0

您的一个或多个变量,至少a,但扩展到b,c等,是一个字符串对象。您不能将浮点数添加到字符串:

>>> '' + 0.0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Can't convert 'float' object to str implicitly

但是,您可以只使用该statistics模块来计算平均值和标准差;有一个mean()和一个stdev()功能可用。只要确保所有变量都是正确的浮点数:

from statistics import mean, stdev

values = [a, b, c, d, e, f, g, h, i, j, k, l]
float_values = [float(v) for v in values]
mean_value = mean(float_values)
stdev_value = stdev(float_values)

请注意,处理一个包含这些值列表的变量比使用 12 个单独的变量要容易得多。

于 2015-09-14T17:47:42.360 回答
0

我自己也多次犯过同样的错误。请记住:您不能将不同的数据类型添加在一起。不过,这是将它们组合在一起的好方法:

userID = 5
return userID
userIDcopy = str(userID)
print "Welcome User "+userIDcopy

希望这可以帮助!

于 2015-09-14T18:04:30.130 回答