ソリューションプレビュー:Pythonの数値乗算で使用します*オペレーター。から値を読むときinput()、それらをに変換しますintまたはfloat文字列の繰り返しを避けるため。配列とマトリックスの場合、要素単位とマトリックスの乗算にnumpy関数を使用します。
重要な概念
Pythonの乗算では、毎日使用するいくつかの一般的なケースをカバーします。
- 数字:
*整数とフロートを掛けます(例:2 * 3 == 6)。 - シーケンス:
*文字列とリストを繰り返します(例:"ha" * 3 == "hahaha")。 - 配列/マトリックス:numpyを使用して使用します
np.multiply要素単位の場合np.dotまたは@マトリックス乗算用。 - ユーザー入力:
input()文字列を返します。乗算する前に数字に変換します。
方法1:数値を組み込みの演算子に乗算します
ステップ1:2つの番号を定義します。
a = 5
b = 3ステップ2:使用して乗算します*。
product = a * bステップ3:結果をFストリングで印刷します。
print(f"{a} * {b} = {product}") # 5 * 3 = 15方法2:ユーザー入力値を正しく掛けます
ステップ1:入力を数値に変換します。
price = float(input("Enter price: "))
qty = int(input("Enter quantity: "))ステップ2:数値を掛けます。
total = price * qtyステップ3:読みやすいメッセージを印刷します。
print(f"Total cost: ${total}")ステップ4:無効な入力のために基本的なエラー処理を追加します。
try:
n = int(input("Enter a whole number: "))
print(f"2 * {n} = {2 * n}")
except ValueError:
print("Please enter a valid integer.")なぜこれが重要なのか:変換をスキップすると、"2" * 3なります"222"(文字列の繰り返し)、そうではありません6。
方法3:乗算テーブルを構築する(タイムテーブル)
ステップ1:整数として基本番号を読みます。
base = int(input("Number for the table: "))ステップ2:1〜12をループします。
for i in range(1, 13):
print(f"{base} x {i} = {base * i}")これにより、一般的なバグが回避されますnum文字列と出力です2 x 3 = 222。
方法4:同じ演算子を使用して文字列とリストを繰り返す
ステップ1:文字列を繰り返します*。
echo = "hi"
print(echo * 3) # hihihiステップ2:でリストを繰り返します*。
items = [1, 2]
print(items * 3) # [1, 2, 1, 2, 1, 2]注:可変オブジェクトのリストを繰り返すと、すべての繰り返し参照が同じ内部オブジェクトを指します。
方法5:アレイとマトリックスをnumpyに掛けます
ステップ1:numpyをインストールします。
# In a terminal
pip install numpyステップ2:numpyをインポートします。
import numpy as npステップ3:配列の要素単位の乗算を行います。
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.multiply(a, b)) # [ 4 10 18]ステップ4:マトリックス(DOT製品)を掛けます。
A = np.array([[1, 2],
[3, 4]])
B = np.array([[5, 6],
[7, 8]])
print(np.dot(A, B))
# [[19 22]
# [43 50]]
# Equivalent: print(A @ B)要素は、対応するエントリを乗算しますが、マトリックスの乗算は線形代数ルールを行と列に適用します。
また読む:
方法6:使用せずに乗算します*(学習演習)
ステップ1:アキュムレータをゼロに初期化します。
def multiply(a, b):
total = 0ステップ2:ループabs(b)時代。
i = 0
while i < abs(b):
total += a
i += 1ステップ3:サインを修正する場合bネガティブで戻ります。
return total if b >= 0 else -total
print(multiply(6, -3)) # -18このモデルは、繰り返し追加され、教室の算術をミラーリングします。使用するよりも遅いです*練習または制約された環境のために予約する必要があります。
実用的な例
頻繁にヒットするユースケース:
- チェックアウトの合計:
total = unit_price * quantity。 - スケーリング値:
scaled = value * factor。 - テキストバナー:
print("=" * 40)。 - データサイエンス:numpyを使用した要素ごとの配列操作とマトリックス製品。
よくある間違いとそれらを避ける方法
- 入力をキャストするのを忘れる:
num = int(input(...))またはfloat(...)文字列の繰り返しを修正します"2" * 3 == "222"。 - 文字列と数字を直接連結します:fストリングを使用します(
f"{x}")またはで変換しますstr()。 - 紛らわしい元素とマトリックスの乗算:使用
np.multiply(要素単位)vsnp.dot/@(マトリックス)。 - 使用
eval()値を掛けるには:安全ではなく不必要な。電話a * bまたは使用しますmath.prod繰り返しの場合。 - Times Tablesのコードを繰り返す:印刷ステートメントを複製する代わりに、ループを作成します。
ベストプラクティスとヒント
- 読みやすい出力にはfストリングを好む、例えば
print(f"{a} * {b} = {a * b}")。 - 多くの製品の場合、使用してください
import math; math.prod(iterable)Python 3.8+で。 - お金のために、考慮してください
decimal.Decimal浮動小数点の丸めの問題を避けるため。 - パフォーマンスに敏感な数値コードでは、pythonループの代わりに操作を自動化するためにnumpyを使用します。
- 機能的なスタイルのために、
from operator import mulと同等の呼び出し可能なものを提供します*。
クイックリファレンスチェックリスト
- 数字:
*。 - 番号への入力:
int()/float()乗算する前に。 - 文字列/リスト:
*コンテンツを繰り返します。 - 配列:
np.multiply要素単位の場合、np.dotまたは@マトリックス乗算用。 - 避ける
eval()製品用。 - 時間テーブルにループを使用します。プリントラインを複製しないでください。
これで、Pythonの数値、シーケンス、および配列を掛けるための実用的なパターンに加えて、ユーザー入力を読むときに避けるべき落とし穴があります。これを参照として保持すると、結果のデバッグとフォーマットの結果を節約できます。















