Edistynyt Aritmetiikka
Pyyhkäise näyttääksesi valikon
Opitaan, miten Python käsittelee lattiajakolaskua ja jäännösosaa (myös negatiivisilla luvuilla) sekä tutustutaan math-moduuliin yleisissä numeerisissa operaatioissa.
Lattiajakolasku (//)
Palauttaa tarkan osamäärän lattian, eli pyöristää tuloksen alaspäin (ei vain kohti nollaa).
Huomio: Negatiivisilla luvuilla tulos voi olla pienempi kuin odotat, jos olet tottunut pelkkään katkaisuun. Esimerkiksi -7 // 3 antaa -3 (koska -2.333... pyöristyy alaspäin -3:een, ei kohti nollaa).
12print(7 // 3) # 2 print(-7 // 3) # -3 (floors down: -2.333... → -3)
Merkitys: indeksointi lohkoihin/sivuihin, ajan jakaminen (tunnit sekunneista) ja kaikki laskelmat, joissa selvitetään "kuinka monta kokonaista ryhmää mahtuu".
Modulo %
Palauttaa jakolaskun jäännöksen. Pythonissa jäännöksellä on aina sama etumerkki kuin jakajalla.
123print(7 % 3) # 1 print(-7 % 3) # 2 print(7 % -3) # -2
Miksi tämä on tärkeää: "joka N:s" alkio, ympäri kiertäminen (esim. kellon aritmetiikka), jakaminen ryhmiin.
Esimerkkejä:
- Kellon tuntien seuraaminen →
14 % 12 = 2- (klo 14 tarkoittaa 2 PM); - Joka 3. alkion valitseminen listasta →
if i % 3 == 0:.
Huomio pyöristyksestä
Sisäänrakennettu round(x, ndigits) käyttää "pyöristys lähimpään parilliseen" -periaatetta.
12print(round(2.5), round(3.5)) # 2 4 print(round(2.675, 2)) # 2.67 (binary float nuance)
math-moduuli
Kertatuonti ja useiden hyödyllisten funktioiden/vakioiden käyttö.
123456import math print(math.floor(2.9), math.ceil(2.1), math.trunc(-2.9)) # 2 3 -2 print(math.sqrt(9)) # 3.0 print(math.pi, math.e) # 3.14159... 2.71828... print(math.isfinite(1.0), math.isfinite(float('inf'))) # True False
1. Minkä arvon tämä koodi tulostaa?
2. Minkä arvon tämä koodi tulostaa?
3. Mikä kutsu palauttaa arvon -3?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Edistynyt Aritmetiikka
Opitaan, miten Python käsittelee lattiajakolaskua ja jäännösosaa (myös negatiivisilla luvuilla) sekä tutustutaan math-moduuliin yleisissä numeerisissa operaatioissa.
Lattiajakolasku (//)
Palauttaa tarkan osamäärän lattian, eli pyöristää tuloksen alaspäin (ei vain kohti nollaa).
Huomio: Negatiivisilla luvuilla tulos voi olla pienempi kuin odotat, jos olet tottunut pelkkään katkaisuun. Esimerkiksi -7 // 3 antaa -3 (koska -2.333... pyöristyy alaspäin -3:een, ei kohti nollaa).
12print(7 // 3) # 2 print(-7 // 3) # -3 (floors down: -2.333... → -3)
Merkitys: indeksointi lohkoihin/sivuihin, ajan jakaminen (tunnit sekunneista) ja kaikki laskelmat, joissa selvitetään "kuinka monta kokonaista ryhmää mahtuu".
Modulo %
Palauttaa jakolaskun jäännöksen. Pythonissa jäännöksellä on aina sama etumerkki kuin jakajalla.
123print(7 % 3) # 1 print(-7 % 3) # 2 print(7 % -3) # -2
Miksi tämä on tärkeää: "joka N:s" alkio, ympäri kiertäminen (esim. kellon aritmetiikka), jakaminen ryhmiin.
Esimerkkejä:
- Kellon tuntien seuraaminen →
14 % 12 = 2- (klo 14 tarkoittaa 2 PM); - Joka 3. alkion valitseminen listasta →
if i % 3 == 0:.
Huomio pyöristyksestä
Sisäänrakennettu round(x, ndigits) käyttää "pyöristys lähimpään parilliseen" -periaatetta.
12print(round(2.5), round(3.5)) # 2 4 print(round(2.675, 2)) # 2.67 (binary float nuance)
math-moduuli
Kertatuonti ja useiden hyödyllisten funktioiden/vakioiden käyttö.
123456import math print(math.floor(2.9), math.ceil(2.1), math.trunc(-2.9)) # 2 3 -2 print(math.sqrt(9)) # 3.0 print(math.pi, math.e) # 3.14159... 2.71828... print(math.isfinite(1.0), math.isfinite(float('inf'))) # True False
Kiitos palautteestasi!