Tehted arvudega

Computing with numbers

Andmetüübid

  • Protsessor opereerib arvudega
  • Kõik andmetüübid esitatakse lõpuks arvudena
  • Lõpuks on kõik andmed esitatud 0 ja 1 jadana
  • Programm käitub täis- ja murdarvudega erinevalt
  • Pythonis on väärtusel andmetüüp
    • Muutujal pole andmetüüpi
  • Funktsioon type() tagastab väärtuse andmetüübi

Andmetüübid

print(type(3))  # <class 'int'>
print(type(3.14))  # <class 'float'>
print(type(3.0))  # <class 'float'>
number = -100
print(type(number))  # <class 'int'>
float_number = -3.14
print(type(float_number))  # <class 'float'>
  • type() funktsiooniga saab näha andmetüüpi
  • Kuigi 3.0 on matemaatiliselt sama nagu 3, siis andmetüübid on neil erinevad.

Ujukomaarvud

  • Ujukomaarvud (float) on ebatäpsed
  • Näiteks: 0.1 + 0.1 + 0.1 annab vastuseks 0.30000000000000004
  • Ehk 0.1 + 0.1 + 0.1 == 0.3 on False
  • Võimalusel kasuta täisarve
    • Näiteks hindade esitlemisel kasuta 4.30 (eurodes) asemel 430 (sentides)

Tehted arvudega

  • + liitmine
  • - lahutamine
  • * korrutamine
  • / jagamine
  • ** astendamine
  • abs() absoluutväärtus
  • // täisarvuline jagamine
  • % jääk

Tehted arvudega

print(3 + 3)        # 6
print(5 - 3)        # 2
print(10 / 3)       # 3.3333333333333335
print(10.0 / 3.0)   # 3.3333333333333335
print(10 / 5)       # 2.0
print(10 // 3)      # 3
print(10.0 // 3.0)  # 3.0
print(10 % 3)       # 1
print(10.0 % 3.0)   # 1.0

Teisendamine

  • Kui avaldis sisaldab ujukomaarvu, teisendatakse kõik täisarvud ujukomaarvudeks
  • 5.0 * 2 puhul rakendatakse 5.0 * 2.0
  • Ujukomaarvu teisendamiseks täisarvuks saab kasutada funktsiooni int()
    • Teisendamisel murdosa kaotatakse: int(4.9) => 4
  • Täisarvu teisendamisel ujukomaarvuks saab kasutada funktsiooni float()
    • float(4) => 4.0

Teisendamine sõnest

  • Arvuks teisendamist saab kasutada ka sõne puhul
  • See eeldab, et sõne sisu on korrektne arv
  • int("12") => 12
  • float("12.3") => 12.3
  • float("12") => 12.0

Täisarvuline jagamine ja jääk

  • a // b
    • Täisarvuline jagamine näitab, mitu korda üks arv (b) teise (a) sisse mahub
    • 10 // 3 => 3
    • 10 // 2 => 5
  • a % b
    • Jääk näitab, palju jääb täisarvulisel jagamisel arvust (a) üle
    • 10 % 3 => 1
    • 10 % 5 => 0

Matemaatika moodul

  • Lisaks põhioperatsioonidele pakub Python veel väga palju erinevaid matemaatilisi funktsioone
    • ruutjuur
    • trigonomeetrilised funktsioonid
    • logaritm
    • ümardamine üles/alla
  • Need funktsioonid paiknevad moodulis math
  • Nende kasutamiseks tuleb moodul importida: import math

Matemaatika moodul

import math

print("Pi:", math.pi)
print("Square root of 17:", math.sqrt(17))
  • import reaga imporditakse math moodul
  • Koodis saab kasutada mooduli nime, et sellest muutujaid (math.pi) ja funktsioone (math.sqrt()) välja kutsuda
  • Ilma importimata neid funktsioone kasutada ei saa

Tehete järjekord

  • Järgitakse matemaatikas tuntud tehete järjekorda:
    • Astendamine
    • Korrutamine, jagamine
    • Liitmine, lahutamine
  • Vajadusel saab sulgudega määrata täpsema järjekorra:
    • 2 + 3 * 4 annab tulemuseks 14
    • (2 + 3) * 4 annab tulemuseks 20

Kokkuvõte

  • Väärtustel on andmetüüp
  • Sõltuvalt andmetüübist võivad operatsioonid anda erineva tulemuse
  • Peamised arvu andmetüübid on int täisarvude jaoks ja float ujukomaarvude jaoks
  • Vaatasime peamisi operatsioone (liitmine, lahutamine, korrutamine, jagamine, täisarvuline jagamine ja jääk)
  • Arvutüüpe saab teisendada int() ja float() funktsioonidega
  • Täiendavad funktsioonid on kirjeldatud matemaatika moodulis