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

Python 为什么这个字符串乘法会抛出错误?,python,python-2.7,Python,Python 2.7,只是开始使用Python,而不是修复代码,而是研究如何证明出现错误的原因。我相信这会尝试将字符串作为整数传递,只是不知道为什么不能这样做。您有这样一个: x = 0.8 y = str(x) x=x*y print x, y 最后一行,将相当于 x = 0.8 # float y = str(0.8) 那么,当你 y = "0.8" # string 您将得到一个错误,因为无法将字符串与浮点相乘。但是注意你可以用整数来做: x = x * y # float * st

只是开始使用Python,而不是修复代码,而是研究如何证明出现错误的原因。我相信这会尝试将字符串作为整数传递,只是不知道为什么不能这样做。

您有这样一个:

x = 0.8
y = str(x)
x=x*y
print x, y
最后一行,将相当于

x = 0.8      # float
y = str(0.8)
那么,当你

y = "0.8"    # string
您将得到一个错误,因为无法将字符串与浮点相乘。但是注意你可以用整数来做:

x = x * y    # float * string

这将产生输出
“666”
,因为它将字符串
“6”
相乘3次。

类型错误:不能将序列与类型为“float”的非int相乘。
-此错误消息表示您正试图将序列类型与float相乘。从技术上讲,字符串是一个字符序列。您希望
0.8*“0.8”
的计算结果是什么?一个零,一个句号和五分之二的8?
x = 3
y = str(6)   # y = "6"