You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Kaikille numeerisille muuttujille voi tehdä matematiikasta tuttuja yhteen-, vähennys- ja kertolaskuja, joita vastaavat +, - ja * operaattorit. Laskut toimivat aivan niinkuin matematiikassa laskujärjestystä myöten ja sulkujakin voi käyttää laskujärjestyksen tarkentamiseen. Eri tyyppisiä numeerisia muuttujia sekoittaessa kokonaisluvut muunnetaan aina liukuluvuiksi ja nämä edelleen kompleksiluvuiksi.

>>> 12 + 7
19
>>> 4 - 99
-95
>>> 12.5 + 0.12
12.62
>>> 3 * 7
21
>>> 2 + 1.9
3.9
>>> (23.1 + 10) * (4e4 - 89)
1321054.1
>>> (3.1 - 5.0j) * 2
(6.2-10j)
>>>

Jakolasku on Pythoissa hieman monipuolisempi tapaus. Jakolasku operaattoreita on kaksi: ensimmäinen / palauttaa aina liuku- tai kompleksiluvun,  vaikka jako menisi tasan, toinen // aina jättää desimaaliosan pois (eli aina pyöristetään alas päin). Lisäksi on modulo-operaattori %, joka palauttaa jakojäännöksen. (huom. // ja % eivät toimi kompleksiluvuilla)

>>> 12 / 4
3.0
>>> 12 // 4
3
>>> 21 / 5
4.2
>>> 21 // 5
4
>>> 21 % 5
1
>>> 37.5 // 12.1
3.0
>>>

Potenssiin korotus tapahtuu merkinnällä **. Kuten esimerkistä näkyy, kokonaislukuvuista voi tehdä niin isoja kuin haluaa (kunhan muistia riittää), mutta suurilla liukuluvuilla pienimpien desimaalien tarkkuus kärsii.

>>> 2 ** 3
8
>>> 21.1 ** 1.2
38.82745690601828
>>> 25 ** 0.5
5.0
>>> 3 ** 100
515377520732011331036461129765621272702107522001
>>> 3.0 ** 100.0
5.153775207320113e+47
>>>

Kehittyneemmät matemaatiset funktiot löytyvät moduuleista math ja cmath - ne ovat muuten samat, mutta cmath on kompleksiluvuille. Ne sisältävät trigonometrisiä funktioita, funktioita lukujen pyöristämiseen, logaritmit, neliöjuuren, piin ja e;n arvon jne.. Näiden - sekä muiden standardikirjaston moduulien - sisältö on tarkasti dokumentoitu Pythonin kotisivuilta löytyvässä dokumentaatiossa joten kaikkea ei ole syytä käydä tässä läpi.

>>> import math
>>> math.sin(1.13)
0.9044121893788258
>>> math.ceil(2.4)
3
>>> math.floor(2.4)
2
>>> math.fabs(10)
10.0
>>> math.fabs(-10)
10.0
>>> math.sqrt(36)
6.0
>>> math.pi
3.141592653589793
>>> math.e
2.718281828459045
>>>  
>>> import cmath
>>> cmath.sin(2.7 - .9j)
(0.6124722877778292+0.9280451750273301j)
>>> cmath.exp(1.1 + 5j)
(0.8521682998470161-2.8807677254804784j)
>>> cmath.phase(7.1 + 90.09j)
1.4921488065025537
>>>

 
   

  • No labels
You must log in to comment.