【问题标题】:sum of str and float number by using the type function not working? [duplicate]使用类型函数不起作用的 str 和浮点数之和? [复制]
【发布时间】:2018-04-13 10:00:02
【问题描述】:

我想使用 type 函数打印出 str 和浮点数的总和,但不知何故它不起作用

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

如果我只是应用 plus 函数 print(var1+var2+var3) 它会给出一个我不明白的错误

TypeError: 必须是 str,而不是 float

【问题讨论】:

  • 您要打印出数字的总和吗?
  • 是的,我想打印出数字的总和
  • 错误信息是什么样的?请将其添加到您的问题中。
  • 您不能添加带整数的字符串。这就是您收到 TypeError 的原因。

标签: python python-3.x


【解决方案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

【讨论】:

  • 真的非常感谢..我对python完全陌生,这就是为什么我需要时间来理解@Gahan的基础
猜你喜欢
  • 2013-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-06
  • 2013-02-20
  • 2018-12-06
  • 1970-01-01
相关资源
最近更新 更多