9

我不知道如何在 Python 中进行乘法运算。

如果我这样做:

price = 1 * 9

它将如下所示:

111111111

答案必须是9( 1x9=9)

我怎样才能让它正确乘法?

4

7 回答 7

18

只有当您将整数与字符串相乘时,您才会得到重复的字符串..

您可以使用int()工厂方法从整数的字符串形式创建整数..

>>> int('1') * int('9')
9
>>> 
>>> '1' * 9
'111111111'
>>>
>>> 1 * 9
9
>>> 
>>> 1 * '9'
'9'
  • 如果两个操作数都是 int,您将得到它们的乘法 int。
  • 如果一个操作数是 int 而另一个是 string,则该字符串将重复 int 指定的次数。
于 2012-10-04T18:10:48.620 回答
9

这是字符串和整数之间的区别。看:

>>> "1" * 9
'111111111'

>>> 1 * 9
9
于 2012-10-04T18:10:53.203 回答
3

使用整数而不是字符串。

确保将您的字符串转换为整数

price = int('1') * 9

您发布的实际示例代码不会9返回111111111

于 2012-10-04T18:09:55.063 回答
3

我认为您对这里的类型感到困惑。如果您将字符串相乘,您只会得到该结果。启动解释器并试试这个:

>>> print "1" * 9
111111111
>>> print 1 * 9
9
>>> print int("1") * 9
9

所以确保第一个操作数是一个整数(而不是字符串),它会起作用。

于 2012-10-04T18:12:05.033 回答
2

应该管用:

In [1]: price = 1*9

In [2]: price
Out[2]: 9
于 2012-10-04T18:11:22.827 回答
1

您不能将整数乘以字符串。可以肯定的是,您可以尝试使用 int(整数的缩写,表示整数)命令,例如 -

firstNumber = int(9)
secondNumber = int(1)
answer = (firstNumber*secondNumber)

希望有帮助:)

于 2012-10-04T18:58:35.097 回答
0
In [58]: price = 1 *9
In [59]: price
Out[59]: 9
于 2012-10-04T18:10:32.107 回答