Python 数学不是乘法,而是用字符串代替?

Python maths does not multiply, it uses string instead?

我只是考了一点 python 数学,我不会乘法!我真的很困惑,因为我认为这个简单的代码可以工作:

test = raw_input("answer")
new = test * 5
print new

相反,它只是把我写的东西并排五次。例如,我写 8,它打印出 88888!有人可以解释一下吗?

您需要转换为 intraw_input return 一个字符串:

test = int(raw_input("answer"))

你可以看到 typestr 没有铸造:

In [5]: test = raw_input("answer ")
answer 8    
In [6]: type(test)
Out[6]: str
In [7]: test = int(raw_input("answer "))
answer 8    
In [8]: type(test)
Out[8]: int

当您乘以字符串 python 时,将 return 字符串重复 test 次。