Ohjelmoinnin perusteet Y Python



Samankaltaiset tiedostot
Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

13. Loogiset operaatiot 13.1

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

13. Loogiset operaatiot 13.1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta Toteuta Pythonilla seuraava ohjelma:

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

811120P Diskreetit rakenteet

Python-ohjelmointi Harjoitus 5

Muistutus aikatauluista

811120P Diskreetit rakenteet

T Ohjelmoinnin perusteet Y (Python). Tentti

11. Javan toistorakenteet 11.1

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python

Ohjelmoinnin peruskurssi Y1

Python-ohjelmointi Harjoitus 2

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

12. Javan toistorakenteet 12.1

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Tutoriaaliläsnäoloista

Ohjausrakenteet. Valinta:

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3

Java-kielen perusteita

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Kokeellista matematiikkaa SAGE:lla

12. Javan toistorakenteet 12.1

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Java-kielen perusteet

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if

11. Javan valintarakenteet 11.1

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Ohjelmoinnin peruskurssi Y1

Transkriptio:

Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36

Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast ilmo numeroon 16403 tai vaihtoehtoisesti täytä lomake osoitteessa http://opey.experq.com/register Ilmoittautuneille lähetetään luennon jälkeen yksi kysymys luennosta. Kysymykseen voi vastata ilmaisella tekstiviestillä, joka on muotoa Vast *num* *vapaa palaute*, esim. Vast 3 enemmän esimerkkejä. Myös ne ilmoittautuneet, jotka eivät ole kysymystä luennon jälkeen saaneet, voivat lähettää vapaamuotoista palautetta ja kysymyksiä numeroon 16403 tekstiviestillä (max 160 merkkiä), joka on muotoa Vast *vapaa palaute*, esim Vast enemmän esimerkkejä. Yhteystietoja ei luovuteta kolmansille osapuolille eikä vastauksia liitetä takaisin puhelinnumeroihin. T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 2 / 36

Kertausta: valintakäsky if Valinta voidaan tehdä if-käskyn avulla. Yleinen muoto: if ehto: kasky1 else: kasky2 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 4 / 36

Tenttiesimerkki syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >= 50: print "Tentti meni lapi!" else: print "Reputit!" main() T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 6 / 36

Loogiset operaattorit Halutaan lisätä tenttiesimerkkiin tarkistus: jos pisteet ovat alle 0 tai yli 100, ilmoitetaan virheellisistä pisteistä. Tarvittava ehto saadaan operaattorin or avulla: if pisteet < 0 or pisteet > 100: Tai-operaattori or on yksi loogisista operaattoreista. T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 8 / 36

Loogiset operaattorit, jatkoa Tärkeimmät loogiset operaattorit and ja or tai not ei Operaattorit and ja or ovat ehdollisia: jälkimmäisen operandin totuusarvo tutkitaan vain silloin, jos ensimmäisen operandin arvosta ei voida päätellä koko lauseen totuusarvoa. T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 9 / 36

Sisäkkäisiä if-käskyjä syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet < 0 or pisteet > 100: print "Virheelliset pisteet!" else: if pisteet >= 50: print "Tentti meni lapi!" else: print "Reputit!" main() T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 11 / 36

Useita eri ehtoja syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet < 0: print "Kelvottomat pisteet!" elif pisteet < 50: print "Arvosana on 0." elif pisteet < 60: print "Arvosana on 1." elif pisteet < 70: print "Arvosana on 2." elif pisteet < 80: print "Arvosana on 3." # Ohjelma jatkuu seuraavalla kalvolla. T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 13 / 36

Useita eri ehtoja (jatkuu) elif pisteet < 90: print "Arvosana on 4." elif pisteet <= 100: print "Arvosana on 5." else: print "Kelvottomat pisteet!" main() T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 15 / 36

Toistokäsky Usein ohjelma joutuu toistamaan samaa käskyä monta kertaa. Esimerkki: käyttäjä syöttää ohjelmalle 30 päivän lämpötilat. Ohjelma laskee niiden keskiarvon Samaa käskyä ei tarvitse kirjoittaa monta kertaa, jos käytetään toistokäskyä. Pythonissa on kaksi toistokäskyä, while ja for. While-käskyn yleinen muoto on while ehto: kasky T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 17 / 36

Kuuden kertotaulu while-käskyn avulla i = 1 while i <= 10: tulos = i * 6 print i, "* 6 =", tulos i += 1 main() T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 19 / 36

Esimerkki: lämpötilojen keskiarvo LKM = 30 i = 0 summa = 0.0 while i < LKM: rivi = raw_input("anna seuraava lampotila.\n") lampotila = float(rivi) summa = summa + lampotila i = i + 1 keskiarvo = summa / LKM print "Lampotilojen keskiarvo on", keskiarvo main() T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 21 / 36

Toinen versio lämpötilalaskurista: lukumäärä käyttäjältä rivi = raw_input("montako lampotilaa annat?\n") lkm = int(rivi) i = 0 summa = 0.0 while i < lkm: rivi = raw_input("anna seuraava lampotila.\n") lampotila = float(rivi) summa = summa + lampotila i = i + 1 if lkm > 0: keskiarvo = summa / lkm print "Lampotilojen keskiarvo on", keskiarvo else: print "Et antanut yhtaan lampotilaa." T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 23 / 36

Kolmas versio lämpötilalaskurista: lopetus pienellä luvulla print "Anna lampotiloja, lopeta -300:lla." lkm = 0 summa = 0.0 rivi = raw_input("anna ensimmainen lampotila.\n") lampotila = float(rivi) while lampotila > -300.0: summa = summa + lampotila lkm = lkm + 1 rivi = raw_input("anna seuraava lampotila.\n") lampotila = float(rivi) if lkm > 0: keskiarvo = summa / lkm print "Lampotilojen keskiarvo on", keskiarvo else: print "Et antanut yhtaan lampotilaa." T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 25 / 36

If-käsky toistokäskyn sisällä HELLERAJA = 25.0 print "Anna lampotiloja, lopeta -300:lla." hellepaivien_lkm = 0 rivi = raw_input("anna ensimmainen lampotila.\n") lampotila = float(rivi) while lampotila > -300.0: if lampotila >= HELLERAJA: hellepaivien_lkm += 1 rivi = raw_input("anna seuraava lampotila.\n") lampotila = float(rivi) print "Hellepaivia oli", hellepaivien_lkm, "kpl." main() T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 27 / 36

Toistokäsky for For-käskyn avulla voidaan käydä jonkun rakenteen alkiot järjestyksessä. Funktion range avulla voidaan generoida lukujono (oikeasti lista), jonka kaikki alkiot voidaan käydä läpi for-käskyn avulla. Esimerkiksi range(11) generoi lukujonon, joka sisältää luvut 0:sta 10:een asti. Voidaan kirjoittaa toistokäsky for i in range(11): tee jotain arvolle i jossa i saa vuorotellen arvot 0 10. T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 29 / 36

Esimerkki: kertotaulu for-käskyn avulla for i in range(11): tulos = i * 6 print i, "* 6 =", tulos main() T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 31 / 36

Lisää range-funktiosta Lukujonoja generoidessa voi antaa myös jonon ensimmäisen alkion, esimerkiksi range(1, 11) generoi lukujonon, jonka ensimmäinen alkio on 1 ja viimeinen 10. On myös mahdollista antaa jonon kahden peräkkäisen alkion väli, esimerkiksi range(1, 11, 2) generoi lukujonon, joka sisältää luvut 1, 3, 5, 7 ja 9. Väli voi olla myös negatiivinen, jolloin lukuja generoidaan ylhäältä alaspäin. Esimerkiksi range(10, 1, -2) generoi lukujonon, joka sisältää luvut 10, 8, 6, 4 ja 2. T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 32 / 36

Kertotaulu uudelleen for i in range(1, 11): tulos = i * 6 print i, "* 6 =", tulos main() T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 34 / 36

Hellepäivien lukumäärä for-käskyn avulla HELLERAJA = 25.0 rivi = raw_input("montako lampotilaa annat?\n") lkm = int(rivi) hellepaivien_lkm = 0 for i in range(lkm): rivi = raw_input("anna seuraava lampotila.\n") lampotila = float(rivi) if lampotila >= HELLERAJA: hellepaivien_lkm += 1 print "Hellepaivia oli", hellepaivien_lkm, "kpl." main() T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 36 / 36