Python中的乘法

时间:2012-10-04 18:08:53

标签: python

我不知道如何在python中繁殖。

如果我这样做:

price = 1 * 9

看起来像这样:

111111111

答案必须是91x9=9

如何使其正确乘法?

7 个答案:

答案 0 :(得分:13)

只有当你将整数乘以一个字符串时,你才会得到重复的字符串..

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

>>> int('1') * int('9')
9
>>> 
>>> '1' * 9
'111111111'
>>>
>>> 1 * 9
9
>>> 
>>> 1 * '9'
'9'
  • 如果两个操作数都是int ,则会将它们相乘为int。
  • 如果第一个操作数是字符串,第二个是int ..您的字符串将重复多次,作为整数第二个操作数中的值。
  • 如果第一个操作数是整数,第二个是字符串,那么你将得到字符串形式的两个数字相乘..

答案 1 :(得分:8)

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

>>> "1" * 9
'111111111'

>>> 1 * 9
9

答案 2 :(得分:3)

使用整数而不是字符串。

确保将字符串转换为整数

price = int('1') * 9

您发布的实际示例代码将返回9而不是111111111

答案 3 :(得分:1)

应该工作:

In [1]: price = 1*9

In [2]: price
Out[2]: 9

答案 4 :(得分:1)

我觉得你对这里的类型感到困惑。如果你正在乘以一个字符串,你将只得到那个结果。启动解释器并尝试:

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

因此,请确保第一个操作数是一个整数(而不是字符串),它将起作用。

答案 5 :(得分:1)

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

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

希望有所帮助:)

答案 6 :(得分:0)

In [58]: price = 1 *9
In [59]: price
Out[59]: 9