2012-10-04 50 views
5

我不知道如何在蟒蛇繁殖。乘法在Python

如果我这样做:

price = 1 * 9 

它会出现这样的:

111111111 

而答案必须是91x9=9

我怎样才能使它正确乘?

+0

“乘法”是你的话寻找。 – dkamins

回答

3

使用整数而不是字符串。

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

price = int('1') * 9

您发布的实际例子的代码将返回9111111111

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

只有当你乘用字符串整数,你会得到重复串..

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

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

非常感谢你 – user1704332

7

这是字符串和整数之间的差异。请参阅:

>>> "1" * 9 
'111111111' 

>>> 1 * 9 
9 
+0

oooowwwww明白了! – user1704332

1

应该工作:

In [1]: price = 1*9 

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

我想你混淆这里的类型。如果你乘以一个字符串,你只会得到这个结果。启动解释器然后试试这个:

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

所以一定要确保第一个操作数是一个整数(而不是字符串),并且它会工作。

1

你不能用绳子乘以一个整数。可以肯定,你可以尝试使用INT(短整数,这意味着整数)命令,像这样的 - 例如

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

希望这有助于:)