Matemaatilised avaldised

Matemaatika on iga tehnikavaldkonna põhialus. Ilma matemaatiliste avaldisteta efektiivselt programmeerida ei saa. Esitame mõned kõige kasulikumad matemaatilised operaatorid ja tehted.

Elementaarsed matemaatilised tehted

Liitmine

Nagu tavaliselt, operaatorit + kasutatakse aritmeetilisel liitmisel, kui tegemist on arvudega:

# no pec # You can also edit the code print(5 + 6) # --> 11 print(100 + 3458) # --> 3558

Liita saab ka teisi andmetüüpe, kuid siis on plussmärgil pisut teine tähendus. /introduction/string-ide puhul kasutatakse plussmärki nende omavaheliseks ühendamiseks ehk sidurdamiseks (concatenation). Samamoodi saab ühendada ka järjendeid (Järjend (list)) ja ennikuid (Ennik (tuple)).

# Concatenating three string into one.
print("Hello " + "World" + "!")  # --> Hello World!

# Same with lists and tuples.
print(["First", "List"] + ["Second", "List"] + ["Third"])  # --> ['First', 'List', 'Second', 'List', 'Third']
print(("First", "List") + ("Second", "List") + ("Third",))  # --> ('First', 'List', 'Second', 'List', 'Third')

Korrutamine

* operaator võimaldab arve omavahel korrutada.

# no pec print(5 * 6) # --> 30 print(1234 * 5677) # --> 7005418

Lisaks sellele on see (* operaator) sarnaselt + operaatorile rakendatav mõnedele teistele andmetüüpidele:

print("Hello" * 3)  # --> HelloHelloHello
print(["Some", "List"] * 4)  # --> ['Some', 'List', 'Some', 'List', 'Some', 'List', 'Some', 'List']

Lahutamine

- - märki kasutatakse arvude aritmeetilisel lahutamisel.

# no pec print(5 - 6) # --> -1 print(50 - 25) # --> 25

Jagamine

Tavaline jagamine

/- märki kasutatakse arvude jagamisel. Tulemuseks on alati ujukomaarv (float). Kui esimene arv ei jagu teise arvuga nii, et vastuseks on täisarv, siis vastuseks on reaalarv, kus punktiga on eraldatud arvu täisosa ja murdosa.

# no pec print(10 / 5) # --> 2.0 print(20 / 3) # --> 6.666666666666667 print(4 / 0) # --> ZeroDivisionError: division by zero

Täisarvuline jagamine

// - märgiga on sama jagamine, kuid antud juhul vastuseks on alati täisarv (int). Kui esimene arv ei jagu teise arvuga, vastus ümardatakse alla.

# no pec print(20 / 3) # --> 6.666666666666667 print(20 // 3) # --> 6 print(15 / 8) # --> 1.875 print(15 // 8) # --> 1

Tip

/ - märgiga jagamisel on tulemuseks alati ujukomaarv (float). // - märgiga jagamisel on tulemuseks täisarv (int).

print(10 / 5)  # --> 2.0
print(type(10 / 5))  # --> <class 'float'>
print(10 // 5)  # --> 2
print(type(10 // 5))  # --> <class 'int'>

Astendamine

** – selliselt esitatakse astendamise operaator.

# no pec print(1 ** 3) # --> 1 print(3 ** 2) # --> 9 print(4 ** 5) # --> 1024

Tip

Astendamise tehted tehakse paremalt vasakule.

Näiteks:

print(3 ** 2 ** 3)  # --> 6561
print((3 ** 2) ** 3)  # --> 729

Jääk

% ehk Modulo on väga kasulik operaator, mille abil saab arvutada jääki, mis tekib kahe arvu jagamisel.

Jäägi arvutamine toimub järgmiselt: olgu meil kaks arvu, 14 ja 3. Soovime teada nende arvude jagatise jääki. Esialgu leiame arvu, mille korrutamisel 3-ga saame arvu, mis on kõige lähem 14-le. Tõenäoliselt see on 4, kuna korrutamisel 5-ga saame juba 15, mis on suurem kui 14. Ehk viimane sobiv arv, mida saab saada 3 korrutamisel täisarvuga ja mis on väiksem kui 14, on 12. Ja jäägiks on sel juhul 14 - 12 = 2. Siis öeldakse, et 14 / 3 = 4, jäägiga 2.

# no pec print(15 % 3) # --> 0 print(0 % 2) # --> 0 print(121 % 4) # --> 1 print(2 % 33) # --> 2 print(55 % 1223) # --> 55

Tip

Python jälgib tehete järjekorda.

Näiteks:

print(10 - 2 - 4)  # --> 4
print(10 - (2 - 4))  # --> 12
print(2 * 3 + 4)  # --> 10
print(2 + 3 * 4)  # --> 14
print((2 + 3) * 4)  # --> 20

Keerulisemad matemaatilised tehted

Tip

Kui on vaja kasutada keerulisemat matemaatikat, näiteks trigonomeetrilisi valemeid, spetsiifilist ümaradamist jm, siis tuleb importida spetsiaalne sisseehitatud moodul nimega math.

Ümardamine

round(x[, ndigits])

Ümardab arvu x, ndigits komakoha täpsusega, kui ndigits pole määratud, siis ümardab täisarvuni.

round(2) # 2
round(2.1) # 2
round(2.6) # 3
round(2.16, 1) # 2.2
round(12, -1) # 10
math.ceil(x)

Ümardab arvu kõige väiksemaks täisarvuks, mis on x suhtes võrdne või suurem.

from math import ceil

ceil(2) # 2
ceil(2.1) # 3
ceil(2.6) # 3
math.floor(x)

Ümardab arvu kõige suuremaks täisarvuks, mis on x suhtes võrdne või väiksem.

from math import floor

floor(2) # 2
floor(2.1) # 2
floor(2.6) # 2

Astendamine ja ruutjuur

math.sqrt(x)

Tagastab arvu x ruutjuure.

math.pow(x, y)

Tagastab x astmel y väärtuse.

import math

math.sqrt(4)  # 2.0
math.sqrt(10)  # 3.1622776601683795

math.pow(1, 8)  # 1.0
math.pow(2, 3)  # 8.0
math.pow(5, 2)  # 25.0

Logaritm ja Euleri arv

math.log(x, base)

Tagastab x logaritmi alusel base väärtuse.

math.log10(x)

Tagastab x logaritmi astmel 10 väärtuse.

math.exp(x)

Tagastab e astmel x.

import math

math.log(4, 2)  # 2.0
math.log(10, 100)  # 0.5
math.log(5, 10)  # 0.6989700043360187

math.log10(10)  # 1.0
math.log10(100)  # 2.0

math.exp(1)  # 2.718281828459045
math.exp(3)  # 20.085536923187668

Trigonomeetrilised funktsioonid

Tip

Trigonomeetrilised funktsioonid kasutavad radiaane mitte kraade.

math.sin(x)

Tagastab nurga x siinuse.

math.cos(x)

Tagastab nurga x koosinuse.

math.tan(x)

Tagastab nurga x tangenti.

math.asin(x), math.acos(x), math.atan(x)

Arkusfunktsioonid. sin, cos, tan pöördtehted.

import math

print(math.sin(math.pi / 2))  # --> 1.0
print(math.cos(math.pi * 5))  # --> -1.0
print(math.tan(math.pi / 4))  # --> 0.9999999999999999

Nurga teisendused

math.degrees(x)

Teisendab nurga x radiaanidest kraaditesse.

math.radians(x)

Teisendab nurga x kraaditest radiaanidesse.

from math import radians, degrees, pi

rad = radians(45)
print(rad)  #  -> 0.7853981633974483

deg = degrees(rad)
print(deg)  # -> 45.0

Konstantid

math.pi

π = 3.141592…

math.tau

τ = 6.283185…

math.e

e = 2.718281…


Kordamine

Täienda koodi vastava funktsiooniga.

# no pec import math # Round number 2.67395 to only two decimals print(round(2.67395, 2)) # Example # Return 2 to the power of 12 print() # Return the square root of 144 print() # Convert 2 radians into degrees print() # Convert 180 degrees into radians print() import math # Round number 2.67395 to only two decimals print(round(2.67395, 2)) # Return 2 to the power of 12 print(pow(2, 12)) # Return the square root of 144 print(math.sqrt(144)) # Convert 2 radians into degrees print(math.degrees(2)) # Convert 180 degrees into radians print(math.radians(180)) test_function("print") test_function("round") test_function("print") test_function("pow") test_function("print") test_function("math.sqrt") test_function("print") test_function("math.degrees") test_function("print") test_function("math.radians") success_msg("Great job!")

Rohkem lugemist