【问题标题】:Can't convert 'float' object to str implicitly无法将“浮动”对象隐式转换为 str
【发布时间】:2015-12-10 19:22:00
【问题描述】:

我遇到的问题是我不知道如何修复我得到"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

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

【问题讨论】:

  • 那么所有涉及的变量的值是多少?
  • 您似乎在问两个完全不同的问题;为什么你认为导入某些东西可以解决类型问题?
  • 确保你的变量都不是字符串。

标签: python python-3.x mean deviation


【解决方案1】:

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

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

不过,您可以只使用statistics module 来计算平均值和标准差;有mean()stdev() function 可用。只需确保所有变量都是正确的浮点数:

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 个单独的变量要容易得多。

【讨论】:

    【解决方案2】:

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

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

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-26
      • 2017-08-31
      • 2012-11-19
      • 2014-08-03
      • 2017-08-24
      • 2015-12-23
      • 2016-04-15
      相关资源
      最近更新 更多