Edistynyt Aritmetiikka
Askel perustasoa pidemmälle: opi, miten Python käsittelee lattiajakolaskun ja moduulin (myös negatiivisilla luvuilla) sekä tutustu nopeasti sisäänrakennettuun math-moduuliin, jota käytät arkipäivän numeerisissa tehtävissä.
Lattiajakolasku (//)
Palauttaa tarkan osamäärän lattian — eli pyöristää alaspäin kohti −∞.
12print(7 // 3) # 2 print(-7 // 3) # -3 (floors down: -2.333... → -3)
Merkitys: osioiden/sivujen indeksointi, ajan jakaminen (tunnit sekunneista) sekä kaikki laskelmat, joissa selvitetään "kuinka monta täyttä ryhmää mahtuu".
Modulo %
Antaa jäännöksen identiteetissä:
a == (a // b) * b + (a % b)
Pythonissa jäännöksellä on sama etumerkki kuin jakajalla b.
123print(7 % 3) # 1 print(-7 % 3) # 2 (because -7 == (-3)*3 + 2) print(7 % -3) # -2 (because 7 == (-2)*(-3) + -2)
Miksi tämä on tärkeää: "joka N:s" alkio, ympäri kiertäminen (esim. kellonajan aritmetiikka), siirtyminen ämpärien läpi.
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 (olennaiset)
Tuo kerran ja käytä useita hyödyllisiä funktioita/vakioita.
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
floor/ceil/trunc: alaspäin / ylöspäin / kohti nollaa (huomioi negatiiviset);sqrt: neliöjuuri (tuloksena liukuluku);pi,e: yleiset vakiot;isfinite,isnan,isinf: tarkistukset erikoisille liukulukuarvoille.
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
Can you explain more about how floor division works with negative numbers?
What are some practical uses for the modulo operator in real-world problems?
Can you show more examples of using the math module functions?
Awesome!
Completion rate improved to 5
Edistynyt Aritmetiikka
Pyyhkäise näyttääksesi valikon
Askel perustasoa pidemmälle: opi, miten Python käsittelee lattiajakolaskun ja moduulin (myös negatiivisilla luvuilla) sekä tutustu nopeasti sisäänrakennettuun math-moduuliin, jota käytät arkipäivän numeerisissa tehtävissä.
Lattiajakolasku (//)
Palauttaa tarkan osamäärän lattian — eli pyöristää alaspäin kohti −∞.
12print(7 // 3) # 2 print(-7 // 3) # -3 (floors down: -2.333... → -3)
Merkitys: osioiden/sivujen indeksointi, ajan jakaminen (tunnit sekunneista) sekä kaikki laskelmat, joissa selvitetään "kuinka monta täyttä ryhmää mahtuu".
Modulo %
Antaa jäännöksen identiteetissä:
a == (a // b) * b + (a % b)
Pythonissa jäännöksellä on sama etumerkki kuin jakajalla b.
123print(7 % 3) # 1 print(-7 % 3) # 2 (because -7 == (-3)*3 + 2) print(7 % -3) # -2 (because 7 == (-2)*(-3) + -2)
Miksi tämä on tärkeää: "joka N:s" alkio, ympäri kiertäminen (esim. kellonajan aritmetiikka), siirtyminen ämpärien läpi.
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 (olennaiset)
Tuo kerran ja käytä useita hyödyllisiä funktioita/vakioita.
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
floor/ceil/trunc: alaspäin / ylöspäin / kohti nollaa (huomioi negatiiviset);sqrt: neliöjuuri (tuloksena liukuluku);pi,e: yleiset vakiot;isfinite,isnan,isinf: tarkistukset erikoisille liukulukuarvoille.
1. Minkä arvon tämä koodi tulostaa?
2. Minkä arvon tämä koodi tulostaa?
3. Mikä kutsu palauttaa arvon -3?
Kiitos palautteestasi!