使用类型函数不工作的str和float数的总和?

时间:2018-04-13 10:00:03

标签: python python-3.x

我想通过使用类型函数打印出str和float数的总和,但不知何故它不起作用

var1,var2,var3=[str(2),float(3.0),str(5)]
print([var1,var2,var3])

如果我只是应用加号函数print(var1+var2+var3),则会出现错误,我不明白

  

TypeError:必须是str,而不是float

1 个答案:

答案 0 :(得分:1)

你需要写:

print(sum(float(i) for i in [var1,var2,var3]))

但您可以轻松地使用它,如下所示:

values = [str(2),float(3.0),str(5)]

如果类型不匹配,则需要将其转换为相同类型,然后添加它,以便您可以通过列表推导在一行中执行以下操作:

float_values = [float(i) for i in values]  # list of all values as float
print(sum(float_values))

+运营商

当您使用带+运算符的字符串时,它将连接字符串

实施例

x = '4' + '5'  # result will be '45'

如果将它用于整数,它将为您添加值 实施例

x = 4 + 5  # result will be 9