Hogyan lehet szorozni Pythonban

Megoldás előnézete: a Python numerikus szorzása a*operátor. Amikor értékeket olvas kiinput(), konvertálja őket erreintvagyfloathogy elkerüljük a húrismétlést. Tömbök és mátrixok esetén használja a NumPy függvényeket az elemenkénti és mátrixos szorzáshoz.

Kulcsfogalmak

A Pythonban a szorzás néhány gyakori esetet fed le, amelyeket naponta használsz:

  • Számok:*egész számokat szoroz és lebeg (pl.2 * 3 == 6).
  • Sorozatok:*karakterláncokat és listákat ismétel (pl."ha" * 3 == "hahaha").
  • Tömbök/mátrixok: NumPy-val, használjanp.multiplymert elem-bölcs ésnp.dotvagy@mátrixszorzáshoz.
  • Felhasználói bevitel:input()karakterláncokat ad vissza; szorzás előtt számokká konvertálni.

1. módszer: Szorozza meg a számokat a beépített operátorral

1. lépés:Határozzon meg két számot.

a = 5
b = 3

2. lépés:Szorozza meg a használatával*.

product = a * b

3. lépés:Nyomtassa ki az eredményt egy f karakterlánccal.

print(f"{a} * {b} = {product}")  # 5 * 3 = 15

2. módszer: Szorozza meg helyesen a felhasználói beviteli értékeket

1. lépés:Konvertálja a bemenetet számokká.

price = float(input("Enter price: "))
qty = int(input("Enter quantity: "))

2. lépés:Szorozzuk meg a számértékeket.

total = price * qty

3. lépés:Nyomtasson ki egy olvasható üzenetet.

print(f"Total cost: ${total}")

4. lépés:Alapvető hibakezelés hozzáadása az érvénytelen bevitelhez.

try:
    n = int(input("Enter a whole number: "))
    print(f"2 * {n} = {2 * n}")
except ValueError:
    print("Please enter a valid integer.")

Miért számít ez: ha kihagyja a konverziókat,"2" * 3válik"222"(húrismétlés), nem6.

3. módszer: Hozzon létre egy szorzótáblát (időtáblázat)

1. lépés:Olvassa be az alapszámot egész számként.

Bővebben:A „python setup.py egg_info” parancs meghiúsítása az 1-es hibakóddal

base = int(input("Number for the table: "))

2. lépés:Hurok az 1-től 12-ig.

for i in range(1, 13):
    print(f"{base} x {i} = {base * i}")

Ezzel elkerülhető a gyakori hiba, aholnumegy karakterlánc és kimenetek2 x 3 = 222.

4. módszer: Ismételje meg a karakterláncokat és listákat ugyanazzal az operátorral

1. lépés:Ismételje meg a karakterláncot*.

echo = "hi"
print(echo * 3)  # hihihi

2. lépés:Ismételje meg a listát*.

items = [1, 2]
print(items * 3)  # [1, 2, 1, 2, 1, 2]

Megjegyzés: a módosítható objektumok listájának ismétlésekor minden ismétlődő hivatkozás ugyanarra a belső objektumra mutat.

5. módszer: Szorozza meg a tömböket és mátrixokat a NumPy segítségével

1. lépés:Telepítse a NumPy-t.

# In a terminal
pip install numpy

2. lépés:NumPy importálása.

import numpy as np

3. lépés:Végezze el a tömbök elemenkénti szorzását.

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.multiply(a, b))  # [ 4 10 18]

4. lépés:Mátrixok szorzása (pontszorzat).

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)

Az elemenkénti szorzás a megfelelő bejegyzéseket, míg a mátrixszorzás lineáris algebrai szabályokat alkalmaz a sorokra és oszlopokra.

6. módszer: Használat nélkül szaporítson*(tanulási gyakorlat)

1. lépés:Inicializálja az akkumulátort nullára.

def multiply(a, b):
    total = 0

2. lépés:Hurokabs(b)alkalommal.

    i = 0
    while i < abs(b):
        total += a
        i += 1

3. lépés:Javítsa ki a jelet, habnegatív és visszatér.

    return total if b >= 0 else -total

print(multiply(6, -3))  # -18

Ez a szorzást ismételt összeadásként modellezi, és tükrözi az osztálytermi aritmetikát. Lassabb, mint a használata*és gyakorlásra vagy korlátozott környezetekre kell fenntartani.

Gyakorlati példák

Gyakran előforduló esetek:

  • Fizetési végösszegek:total = unit_price * quantity.
  • Méretezési értékek:scaled = value * factor.
  • Szöveges bannerek:print("=" * 40).
  • Adattudomány: elemenkénti tömbműveletek és mátrixtermékek NumPy segítségével.

Gyakori hibák és azok elkerülése

  • Elfelejtette átküldeni a bemenetet:num = int(input(...))vagyfloat(...)kijavítja a karakterlánc-ismétlést, mint"2" * 3 == "222".
  • Karakterláncok és számok közvetlen összefűzése: használjon f-stringeket (f"{x}") vagy konvertálni ezzelstr().
  • Zavaros elem- és mátrixszorzás: használatnp.multiply(elemszerűen) vsnp.dot/@(mátrix).
  • Használataeval()az értékek szorzására: nem biztonságos és szükségtelen; hívása * bvagy használjamath.proditerálható elemekhez.
  • Ismétlődő kód időtáblázatokhoz: írjon hurkot a nyomtatási utasítások megkettőzése helyett.

A legjobb gyakorlatok és tippek

  • Előnyben részesítse az f-sztringeket az olvasható kimenethez, pl.print(f"{a} * {b} = {a * b}").
  • Több számú termék esetén használjaimport math; math.prod(iterable)Python 3.8+ verzióban.
  • Pénzért fontolja megdecimal.Decimala lebegőpontos kerekítési problémák elkerülése érdekében.
  • A teljesítményérzékeny numerikus kódban a NumPy-t használja a műveletek vektorizálására Python-hurkok helyett.
  • A funkcionális stílus érdekébenfrom operator import mulhívható megfelelőjét ad*.

Gyors referencia lista

  • Számok:*.
  • Szám bevitele:int()/float()szorzás előtt.
  • Karakterláncok/listák:*megismétli a tartalmat.
  • Tömbök:np.multiplyelemi szempontból,np.dotvagy@mátrixszorzáshoz.
  • Elkerüleval()termékekhez.
  • Használjon hurkokat az időtáblázatokhoz; ne ismételje meg a nyomtatási sorokat.

Mostantól megvannak a gyakorlati minták a számok, sorozatok és tömbök szorzásához Pythonban, valamint a buktatók, amelyeket el kell kerülni a felhasználói bevitel olvasásakor. Tartsa ezt referenciaként, és időt takarít meg a hibakeresés és a formázás során.

Related Posts