Pythonで乗算する方法がわかりません。
私がこれを行う場合:
price = 1 * 9
次のように表示されます。
111111111
9
そして答えは( 1x9=9
)である必要があります
どうすれば正しく乗算できますか?
Pythonで乗算する方法がわかりません。
私がこれを行う場合:
price = 1 * 9
次のように表示されます。
111111111
9
そして答えは( 1x9=9
)である必要があります
どうすれば正しく乗算できますか?
整数と文字列を乗算した場合にのみ、繰り返し文字列が得られます..
ファクトリ メソッドを使用int()
して、整数の文字列形式から整数を作成できます。
>>> int('1') * int('9')
9
>>>
>>> '1' * 9
'111111111'
>>>
>>> 1 * 9
9
>>>
>>> 1 * '9'
'9'
文字列と整数の違いです。見る:
>>> "1" * 9
'111111111'
>>> 1 * 9
9
文字列の代わりに整数を使用します。
文字列をintにキャストしてください
price = int('1') * 9
投稿した実際のサンプルコードは返され9
ません111111111
ここでタイプについて混乱していると思います。文字列を乗算している場合にのみ、その結果が得られます。インタプリタを起動して、これを試してください:
>>> print "1" * 9
111111111
>>> print 1 * 9
9
>>> print int("1") * 9
9
したがって、最初のオペランドが (文字列ではなく) 整数であることを確認してください。
動作するはずです:
In [1]: price = 1*9
In [2]: price
Out[2]: 9
整数を文字列で乗算することはできません。確かに、たとえば次のように、int(整数の略)コマンドを使用してみてください-
firstNumber = int(9)
secondNumber = int(1)
answer = (firstNumber*secondNumber)
お役に立てば幸いです:)
In [58]: price = 1 *9
In [59]: price
Out[59]: 9