我想通过使用类型函数打印出str和float数的总和,但不知何故它不起作用
var1,var2,var3=[str(2),float(3.0),str(5)]
print([var1,var2,var3])
如果我只是应用加号函数print(var1+var2+var3)
,则会出现错误,我不明白
TypeError:必须是str,而不是float
答案 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