Funktiot ja kirjastot
Funktiot ja kirjastot
Pythonissa on oletusarvoisesti vain joitakin funkioita. Esimerkiksi int-komento on funktio, sillä se palauttaa annetun arvon kokonaislukuna. Lisää matematiikka-aiheisia funktiota saa käyttöön tuomalla math-kirjaston ohjelman alussa.
Usein on tärkeää arpoa satunnaislukuja. Tämä onnistuu random-kirjaston avulla.
Välitehtävä
Päivämäärää ja aikaa käsittelevät komennot saadaan käyttöön datetime-kirjaston avulla.
Välitehtävä
Aikaa, etenkin ajan mittaamista, voidaan käsitellä myös time-kirjaston avulla.
Välitehtävä
Omat funktiot
Omia funktioita voi määrittää def-komennon avulla.
Esimerkki 1. import math #Tuodaan math-kirjasto käyttöön pii = math.pi #Luvun pii likiarvo print ("Luvun pii liki arvo on", pii) print (math.fabs(-5)) #fabs-komento palauttaa luvun itseisarvon [[$\vdots$]] Luvun pii likiarvo on 3.141592653589794 5 |
Usein on tärkeää arpoa satunnaislukuja. Tämä onnistuu random-kirjaston avulla.
Esimerkki 2. import random satunnaisluku = random.randint (1, 10) #Arpoo satunnaisen kokonaisluvun luvuista 1-10. print (satunnaisluku) satunnaisreaaliluku = random.uniform (1, 10) #Arpoo satunnaisen desimaaliluvun lukujen 1 ja 10 väliltä. print (satunnaisreaaliluku) satunnainenmerkki = random.choice("abcdefgh") #Arpoo satunnaisen merkin merkkijonosta. print (satunnainenmerkki) satunnaisotos = random.sample([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3) #Arpoo kolme satunnaista lukua listasta. print (satunnaisotos) [[$\vdots$]] 3 4.1437658593051319 f [3, 1, 8] |
Välitehtävä
Päivämäärää ja aikaa käsittelevät komennot saadaan käyttöön datetime-kirjaston avulla.
Esimerkki 3. import datetime tanaan = datetime.datetime.now() #Muuttuja tanaan sisältää tämän hetken ajan. print (tanaan.year) #Tulostaa tämän hetken vuoden print (tanaan.month) #Tulostaa tämän hetken kuukauden print (tanaan.day) #Tulostaa tämän hetken päivän print (tanaan.hour) #Tulostaa tämän hetken tunnin print (tanaan.minute) #Tulostaa tämän hetken minuutin print (tanaan.second) #Tulostaa tämän hetken sekunnin [[$\vdots$]] 2017 12 15 11 7 3 |
Välitehtävä
Aikaa, etenkin ajan mittaamista, voidaan käsitellä myös time-kirjaston avulla.
Esimerkki 4. import time alkuaika = time.time() #Ajanmittaus alkaa nimi = input("Kerro nimesi:") loppuaika = time.time() #Ajanmittaus loppuu print ("Nimesi on", nimi) print ("Vastaaminen kesti", loppuaika - alkuaika, "sekuntia") #Kulunut aika saadaan mitattua miinustamalla alkuaika loppuajasta. print ("Pyöristettynä", round(loppuaika - alkuaika, 2), "sekuntia") #Pyöristetään round-komennolla kahden desimaalin tarkkuuteen. [[$\vdots$]] Kerro nimesi: Samu Vastaaminen kesti 3.456789231567408 sekuntia Pyöristettynä 3.46 sekuntia |
Välitehtävä
Omat funktiot
Omia funktioita voi määrittää def-komennon avulla.
Esimerkki 5. def keskiarvo(luku1, luku2): #Funktion nimi on keskiarvo ja funktioon vaikuttavat parametrit ovat luku1 ja luku2. [[$ \ \ \ \ \ $]] keskiarvo = float((luku1+luku2)/2) [[$ \ \ \ \ \ $]] print("Lukujen", luku1, "ja", luku2, "keskiarvo on", keskiarvo) #Sisennyksiin tulee, mitä funktio tekee annetuille parametreille. a = float( input ("Anna 1. luku:")) b = float( input( "Anna 2. luku:")) keskiarvo (a, b) [[$\vdots$]] Anna 1. luku: 3 Anna 2. luku: 4 Lukujen 3.0 ja 4.0 keskiarvo on 3.5 |
Tehtäviä
1. Tulosta tämän hetken päivämäärä ja aika.
2. Laske ympyrän, jonka halkaisija on 5cm, kehä ja pyöristä vastaus kahden desimaalin tarkkuuteen. Ympyrän kehä lasketaan kaavalla kehä=pii*halkaisija.
3. Luo ohjelma, joka
a) arpoo luvun väliltä 1-37.
b) arpoo kirjaimen omasta etunimestäsi.
3. Luo ohjelma, joka
a) kysyy käyttäjältä kaksi lukua
b) arpoo näiden väliltä kolmannen luvun
c)* mittaa ajan, joka kuluu koko operaation suorittamiseen.
4. Luo ohjelma, joka
a) arpoo 50 kertaa luvun 1 tai 2
b)* kertoo kuinka monta kertaa luku 1 esiintyy arvonnassa.
2. Laske ympyrän, jonka halkaisija on 5cm, kehä ja pyöristä vastaus kahden desimaalin tarkkuuteen. Ympyrän kehä lasketaan kaavalla kehä=pii*halkaisija.
3. Luo ohjelma, joka
a) arpoo luvun väliltä 1-37.
b) arpoo kirjaimen omasta etunimestäsi.
3. Luo ohjelma, joka
a) kysyy käyttäjältä kaksi lukua
b) arpoo näiden väliltä kolmannen luvun
c)* mittaa ajan, joka kuluu koko operaation suorittamiseen.
4. Luo ohjelma, joka
a) arpoo 50 kertaa luvun 1 tai 2
b)* kertoo kuinka monta kertaa luku 1 esiintyy arvonnassa.