2015-09-14 5 views
-2

Проблема, которую я имею, что я не знаю, как исправить эту часть моего кода, где я получаю "TypeError: Can't convert 'float' object to str implicitly"Невозможно преобразовать «поплавок» объект ул неявно

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

Я бегу питона 3.4 0,3

Если кто-нибудь знает, какие модули я могу импортировать для стандартного отклонения или означает, что было бы полезно

+5

Итак, каковы значения всех переменных? –

+0

Вы, кажется, задаете две совершенно разные вещи; почему вы думаете, что импорт чего-то решит проблему типа? – jonrsharpe

+0

Убедитесь, что ни одна из ваших переменных не является строкой. –

ответ

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 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 отдельные переменные.

0

Я сделал ту же ошибку сам много раз. Просто помните: вы не можете добавлять разные типы данных вместе. Вот отличный способ их комбинирования:

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

Надеюсь, это поможет!

Смежные вопросы