Matemaatilised avaldised

Matemaatika on iga tehnikavaldkonna põhialus. Ilma matemaatiliste avaldisteta efektiivselt programmeerida ei saa. Teeme tutvust kõige kasulikemate matemaatiliste operaatorite ja tehetega.

Elementaarsed matemaatilised tehted

Liitmine

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

print(5 + 6)  # --> 11

print(100 + 3458)  # --> 3558

Liita saab ka teisi andmetüüpe, kuid siis on plussmärgil pisut teine tähendus. Sõne (string)-ide puhul kasutatakse plussmärki nende omavaheliseks ühendamiseks ehk sidurdamiseks (concatenation). Samamoodi saab ühendada ka järjendeid ja ennikuid.

# 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.

print(5 * 6)  # --> 30

print(1234 * 5677)  # --> 7005418

Lisaks sellele on * 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.

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.

print(10 / 5)  # --> 2.0

print(20 / 3)  # --> 6.666666666666667

print(4 / 0)  # --> ZeroDivisionError: division by zero

Täisarvuline jagamine

// märgiga on tegemist samuti jagamisega, kuid antud juhul on vastuseks alati täisarv (integer). Kui esimene arv ei jagu teise arvuga, siis saadud vastus ümardatakse alla.

print(20 / 3)  # --> 6.666666666666667

print(20 // 3)  # --> 6

print(15 / 8)  # --> 1.875

print(15 // 8)  # --> 1

Pea meeles!

/ 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.

print(1 ** 3)  # --> 1

print(3 ** 2)  # --> 9

print(4 ** 5)  # --> 1024

Pea meeles!

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 14-ga võrdne või sellest võimalikult vähe väiksem. 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.

print(15 % 3)  # --> 0

print(0 % 2)  # --> 0

print(121 % 4)  # --> 1

print(2 % 33)  # --> 2

print(55 % 1223)  # --> 55

Oluline!

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

Kui programmis on vaja kasutada keerulisemat matemaatikat, näiteks trigonomeetrilisi valemeid, spetsiifilist ümardamist 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 juurimine

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

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 tangensi.

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 kraadidesse.

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

Konstandid

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