Ratkaisun esikatselu: Numeerinen kertolasku Pythonissa käyttää*operaattori. Kun luet arvojainput(), muuntaa neinttaifloatMerkkijonojen toiston välttämiseksi. Taulukoissa ja matriisissa käytä numphy -funktioita elementti- ja matriisin kertomisessa.
Tärkeimmät käsitteet
Pythonin kertominen kattaa muutamia yleisiä tapauksia, joita käytät päivittäin:
- Numerot:
*moninkertaistaa kokonaisluvut ja kelluvat (esim.2 * 3 == 6). - Sekvenssit:
*Toistaa jouset ja luettelot (esim."ha" * 3 == "hahaha"). - Taulukot/matriisit: Käytä numphy, käytä
np.multiplyElementille janp.dottai@Matriisin kertominen. - Käyttäjän syöttö:
input()palauttaa jouset; Muunna numeroiksi ennen kertomista.
Menetelmä 1: Kerta numerot sisäänrakennetulla operaattorilla
Vaihe 1:Määritä kaksi numeroa.
a = 5
b = 3Vaihe 2:Moninkertaisesti käyttämällä*.
product = a * bVaihe 3:Tulosta tulos F-merkkijonolla.
print(f"{a} * {b} = {product}") # 5 * 3 = 15Menetelmä 2: Kerro käyttäjän syöttöarvot oikein
Vaihe 1:Muunna syöttö numeroiksi.
price = float(input("Enter price: "))
qty = int(input("Enter quantity: "))Vaihe 2:Kerro numeeriset arvot.
total = price * qtyVaihe 3:Tulosta luettava viesti.
print(f"Total cost: ${total}")Vaihe 4:Lisää virheenkäsittely virheelliselle tulolle.
try:
n = int(input("Enter a whole number: "))
print(f"2 * {n} = {2 * n}")
except ValueError:
print("Please enter a valid integer.")Miksi tällä on merkitystä: jos ohitat tulokset,"2" * 3tulla"222"(Merkkijonon toisto), ei6.
Menetelmä 3: Rakenna kertolasku (Times Table)
Vaihe 1:Lue perusnumero kokonaislukuksi.
base = int(input("Number for the table: "))Vaihe 2:Silmukka 1 - 12.
for i in range(1, 13):
print(f"{base} x {i} = {base * i}")Tämä välttää yleisen virheen missänumon merkkijono ja lähdöt2 x 3 = 222.
Menetelmä 4: Toista jouset ja luettelot samalla operaattorilla
Vaihe 1:Toistaa merkkijono*.
echo = "hi"
print(echo * 3) # hihihiVaihe 2:Toistaa luettelo*.
items = [1, 2]
print(items * 3) # [1, 2, 1, 2, 1, 2]HUOMAUTUS: Kun toistetaan muuttuvien objektien luetteloita, kaikki toistuvat viitteet osoittavat samaan sisäobjektiin.
Menetelmä 5: Kerro- ja matriisit numpulla
Vaihe 1:Asenna numphy.
# In a terminal
pip install numpyVaihe 2:Tuo numphy.
import numpy as npVaihe 3:Tee elementti viikeaan taulukkojen kertominen.
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.multiply(a, b)) # [ 4 10 18]Vaihe 4:Kerro matriisit (pistetuote).
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)Elementtien moninkertaistuu vastaavat merkinnät, kun taas matriisin kertolasku soveltaa lineaarisia algebra -sääntöjä riveihin ja sarakkeisiin.
Lue myös:Käytä Pythonia tietojen analysointiin: Rakenna toistettava työnkulku
Menetelmä 6: Kerro käyttämättä*(oppimisharjoitus)
Vaihe 1:Alusta akku nollaan.
def multiply(a, b):
total = 0Vaihe 2:Silmukkaabs(b)kertaa.
i = 0
while i < abs(b):
total += a
i += 1Vaihe 3:Korjaa merkki, josbon negatiivinen ja paluu.
return total if b >= 0 else -total
print(multiply(6, -3)) # -18Tämä malli kertolasku toistuvana lisäyksessä ja peilaa luokkahuoneen aritmeettista. Se on hitaampaa kuin käyttää*ja se tulisi varata harjoitteluun tai rajoitetuihin ympäristöihin.
Käytännön esimerkit
Käyttötapauksia, joihin osuut usein:
- Käsikästen kokonaismäärät:
total = unit_price * quantity. - Skaalausarvot:
scaled = value * factor. - Teksti bannerit:
print("=" * 40). - Tietotiede: Elementti- ja matriisituotteet ja matriisituotteet Numpy kanssa.
Yleisiä virheitä ja kuinka välttää niitä
- Unohdetaan antaa syöttö:
num = int(input(...))taifloat(...)Korjaa merkkijonon toiston kuten"2" * 3 == "222". - Yhdistävät jouset ja numerot suoraan: käytä F-merkkijonoja (
f"{x}") tai muuntaastr(). - Sekava elementti ja matriisin kertominen: käytä
np.multiply(elementti) vs.np.dot-@(Matriisi). - Käyttäminen
eval()moninkertaistumiseen: vaarallinen ja tarpeeton; soittaaa * btai käyttäämath.proditerableille. - Koodin toistaminen Times -taulukoihin: Kirjoita silmukka tulostuslausekkeiden kopioinnin sijasta.
Parhaat käytännöt ja vinkit
- Mieluummin F-kielet luettavissa olevaan ulostuloon, esim.
print(f"{a} * {b} = {a * b}"). - Monen numeron tuotteille käytä
import math; math.prod(iterable)Pythonissa 3.8+. - Rahaa varten, harkitse
decimal.DecimalVälttää kelluva-pisteinen pyöristyskysymykset. - Suorituskykyherkässä numeerisessa koodissa käytä Numpy-toimintoja Python-silmukoiden sijasta.
- Funktionaaliseen tyyliin,
from operator import mulantaa soitettavan vastaavan*.
Nopean tarkistusluettelo
- Numerot:
*. - Syöttö numeroon:
int()-float()Ennen kertomista. - Jouset/luettelot:
*Toistaa sisältöä. - Taulukot:
np.multiplyelementtiä varten,np.dottai@Matriisin kertominen. - Välttää
eval()Tuotteille. - Käytä silmukoita Times -taulukoihin; Älä kopioi tulostuslinjoja.
Sinulla on nyt käytännölliset mallit Pythonin lukujen, sekvenssien ja taulukkojen kertomiseksi sekä sudenkuopat, joita voidaan välttää käyttäjän syöttämisen luettaessa. Pidä tämä referenssinä ja säästät aikaa virheenkorjaus- ja muotoilun tuloksia.












