2012-10-04 19 views
5

Nie wiem, jak pomnożyć w python.Mnożenie w Pythonie

Jeśli mogę to zrobić:

price = 1 * 9 

Będzie to wyglądać tak:

111111111 

A odpowiedź musi być 9 (1x9=9)

Jak mogę zrobić to pomnożyć poprawnie ?

+0

„Multiply” jest słowem jesteś szukam. – dkamins

Odpowiedz

3

Użyj liczb całkowitych zamiast ciągów.

upewnij się, aby oddać swój ciąg do int

price = int('1') * 9

Rzeczywisty przykład kod, który pisał powróci 9 nie 111111111

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

Dopiero kiedy należy pomnożyć liczbę całkowitą z ciągiem, pokochasz uzyskać ciąg powtarzalny ..

Można użyć metody fabrycznej int() stworzyć całkowitą z formularza ciąg liczb całkowitych ..

>>> int('1') * int('9') 
9 
>>> 
>>> '1' * 9 
'111111111' 
>>> 
>>> 1 * 9 
9 
>>> 
>>> 1 * '9' 
'9' 
  • Jeśli zarówno argument jest int, dostaniesz mnożenie z nich jako int.
  • Jeśli pierwszy operand jest jest łańcuchem, a drugi jest int .. Twój ciąg będzie powtarzany tyle razy, ile wartość w twoim całkowitym drugim operandzie.
  • Jeśli pierwszy argument jest liczbą całkowitą, a drugi to ciąg, to dostaniesz mnożenie obu liczb w postaci strun ..
+1

bardzo dziękuję – user1704332

7

Jest to różnica między łańcuchów i liczb. Zobacz:

>>> "1" * 9 
'111111111' 

>>> 1 * 9 
9 
+0

oooowwwww mam to! – user1704332

1

powinno działać:

In [1]: price = 1*9 

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

myślę, że jesteś mylić o rodzajach tutaj. Otrzymasz ten wynik tylko, jeśli mnożysz ciąg znaków. Uruchom interpreter i spróbuj tego:

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

Więc upewnij się, że pierwszy argument jest liczbą całkowitą (a nie ciąg znaków), a to będzie działać.

1

Nie można pomnożyć liczby całkowitej przez ciąg. Aby mieć pewność, można spróbować użyć int (skrót od liczby całkowitej, co oznacza liczby całkowitej) polecenia, jak to na przykład -

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

nadzieję, że pomogło :)