2012-10-04 51 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) 

希望這有助於:)