为什么这个字符串乘法会抛出错误?

时间:2014-03-16 06:36:31

标签: python python-2.7

x = 0.8
y = str(x)
x=x*y
print x, y

刚开始使用Python,而不是修复代码,而是找出如何证明存在错误的原因。我相信这会尝试将字符串作为整数传递,但不确定为什么不能这样做。

1 个答案:

答案 0 :(得分:2)

你有这个:

x = 0.8      # float
y = str(0.8)

最后一行,相当于

y = "0.8"    # string

然后,当你做

x = x * y    # float * string

您收到错误,因为无法将字符串与浮点数相乘。但注意你可以用整数来做到这一点:

x = 3
y = str(6)   # y = "6"

这会产生输出"666",因为它会将字符串"6"乘以3次。