Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Luento 3, ehtolauseet
- print("Tervetuloa! Tänään mm. ehtolauseita!")
- # float-luvut saattavat aiheuttaa pineiä pyöristysbugeja pienillä desimaaleilla
- number1 = 0.1
- number2 = 0.2
- total = number1 + number2
- print(total)
- # suoraviivaisin tapa ratkaista => round()
- total = round(total, 1)
- print(total)
- # UUSI TIEDOSTO
- age = 19
- # ehtolause, onko ikä alle 20?
- # jos on, tulostetaan ehtolauseen sisällä oleva teksti
- # jos ei, skipataan koko ehtolauseen sisällä oleva koodi
- if age < 20:
- print("Olet alle 20v")
- # UUSI VERSIO
- age = 25
- # ehtolause, onko ikä alle 20?
- # jos on, tulostetaan ehtolauseen sisällä oleva teksti
- # jos ei, skipataan koko ehtolauseen sisällä oleva koodi
- if age < 20:
- print("Olet alle 20v")
- print("Myös tämä rivi tulostetaan vain jos ikä on alle 20v!")
- # tämä rivi ei kuulu enää ehtolauseen sisälle, eli tämä ajetaan aina
- print("Tämä rivi tulostetaan riippumatta if-lauseen toiminnasta.")
- # UUSI TIEDOSTO
- age = input("Syötä ikä:\n")
- age = int(age)
- # ehtolause, onko ikä alle 20?
- # jos on, tulostetaan ehtolauseen sisällä oleva teksti
- # jos ei, mennään else-lauseeseen
- if age < 20:
- print("Olet alle 20v")
- else:
- print("Olet 20v tai yli")
- # UUSI TIEDOSTO
- age = input("Syötä ikä:\n")
- age = int(age)
- # ehtolause, if-elif-else
- # if-elif-elsessä maksimissaan yksi ehto voi käynnistyä, loput skipataan
- if age < 20:
- print("Olet alle 20v")
- elif age < 30:
- print("Olet alle 30v")
- elif age < 40:
- print("Olet alle 40v")
- else:
- print("Ikäsi on jotain muuta.")
- print("Kiitos ohjelman käytöstä!")
- # UUSI TIEDOSTO, useampi if-lausekokonaisuus
- age = input("Syötä ikä:\n")
- age = int(age)
- month = input("Anna kuukauden numero:\n")
- month = int(month)
- # ehtolause, if-elif-else
- # if-elif-elsessä maksimissaan yksi ehto voi käynnistyä, loput skipataan
- if age < 20:
- print("Olet alle 20v")
- elif age < 30:
- print("Olet alle 30v")
- elif age < 40:
- print("Olet alle 40v")
- else:
- print("Ikäsi on jotain muuta.")
- # täysin erillinen if-lause kokonaisuus
- # koska month-muuttuja ei liity age-muuttujaan mitenkään
- if month == 7:
- print("Liikkeemme on heinäkuussa suljettu!")
- print("Tavataan taas elokuussa!")
- print("Kiitos ohjelman käytöstä!")
- # UUSI TIEDOSTO
- price = 200
- age = 17
- # huom: voidaan muuttaa aiempaa muuttujaa tehokkaasti
- # suoraan ehtolauseiden koodista käsin!
- if age < 18:
- price = price * 0.9
- else:
- price = price + 4.95
- print(f"Loppusumma: {price}")
- # UUSI TIEDOSTO
- age = input("Syötä ikä:\n")
- age = int(age)
- # pienempi kuin
- if age < 30:
- print("Olet alle 30v")
- # suurempi kuin
- if age > 30:
- print("Olet yli 30v")
- # onko age tasan 30
- if age == 30:
- print("Olet tasan 30v")
- # negaatio, eli == täysi vastakohta
- if age != 30:
- print("Et ole tasan 30v")
- # UUSI TIEDOSTO
- # kun vertailet numeromuuttujia toisiinsa
- # tarkista että molemmat ovat oikeasti numeromuodossa
- # eli joko int() tai float()
- number1 = input("Anna jokin numero:\n")
- number1 = int(number1)
- number2 = 234
- # verrataan numeromuuttujia tosiinsa
- # jos toinen on näistä muuttujista jäänyt vahingossa tekstimuotoon
- # voi tulla erittäin outoja bugeja
- if number1 > number2:
- print("Käyttäjän antama numero on suurempi")
- else:
- print("Toinen numero on suurempi")
- # UUSI TIEDOSTO
- # oletetaan että tämän syksyn alennuskoodi on WINTER23
- # kysytään käyttäjältä alennuskoodi
- sales_code = input("Anna alennuskoodi:\n")
- current_code = "WINTER23"
- # tekstiä verrataan joko == tai !=
- if sales_code == current_code:
- print("Olet oikeutettu alennukseen!")
- else:
- print("Normaali hinta.")
- # UUSI TIEDOSTO
- # kysytään jokin teksti käyttäjältä
- drink = input("Anna jokin juoma:\n")
- # joskus tarvitsee tällaisia rakenteita
- if drink == "maito":
- print("Maidon hinta: 1€")
- elif drink == "kahvi":
- print("Kahvipaketin hinta, 6,5€")
- elif drink == "mehu":
- print("Mehutölkin hinta 2€")
- else:
- print("Tuotetta ei löytynyt...")
- # UUSI TIEDOSTO
- # voidaan tehdä yksinkertainen polkurakenne ohjelmaan myös tekstin avulla
- choice = input("Oletko opiskelija vai aikuinen? (a/o)\n")
- # mitä käyttäjä syötti?
- if choice == 'o':
- print("Tämä koodi käsittelee opiskelijakohtaisen koodin.")
- print("Esim. lasketaan jokin lipun hinta ym.")
- elif choice == 'a':
- print("Tähän sitten aikuisten laskentalogiikka")
- else:
- print("Valintaa ei tunnistettu. Käynnistä ohjelma uudelleen.")
- # UUSI TIEDOSTO
- number = input("Syötä numero:\n")
- number = int(number)
- # jos jaetaan kahdella, mikä on jakojäännös?
- # jos on tasan 0 ====> parillinen luku, muutoin pariton
- if number % 2 == 0:
- print("Parillinen luku!")
- else:
- print("Pariton luku.")
- # UUSI TIEDOSTO
- number = input("Syötä numero:\n")
- number = int(number)
- # jos numero on suurempi kuin 0 ja samaan aikaan pienempi kuin 30
- # eli jos numero on välillä 0-30
- if number > 0 and number < 30:
- print("Numero on 0 ja 30 välillä.")
- # jos numero on pienempi kuin 0
- # TAI numero on suurempi kuin 30
- # käytännössä tämä on edellisen ehdon vastakohta
- if number < 0 or number > 30:
- print("Numero on joko alle 0 tai yli 30.")
- # UUSI TIEDOSTO
- number = input("Syötä numero:\n")
- number = int(number)
- # Pythonin shorthand, eli onko number suurempi kuin 0 ja samalla pienempi kuin 30
- # eli onko number 0 ja 30 välillä
- if 0 < number < 30:
- print("Numero on 0 ja 30 välillä.")
- # jos numero on pienempi kuin 0
- # TAI numero on suurempi kuin 30
- # käytännössä tämä on edellisen ehdon vastakohta
- if number < 0 or number > 30:
- print("Numero on joko alle 0 tai yli 30.")
- # UUSI TIEDOSTO
- age = 20
- city = "Tornio"
- student = True
- # and -sanan vuoksi kaikkien ehtojen pitää täyttyä
- # esim. jos city == Tornio, sitten ei enää toimi
- if age >= 18 and city == "Rovaniemi" and student == True:
- print("Aikuinen rovaniemeläinen opiskelija.")
- # UUSI TIEDOSTO
- age = 20
- city = "Tornio"
- # sisennetyillä ehtolauseilla voidaan tehdä yksityiskohtaista
- # toimintalogiikkaa riippuen tilanteesta
- # tässä koodissa esim. aikuisille ja ala-ikäisille on täysin
- # oma koodipohja, ja aikuisille on myös erilliset koodi
- # eri kaupungeille
- if age >= 18:
- print("Aikuisia koskevat terveydenhuollon ohjeet.")
- if city == "Rovaniemi":
- print("Aikuisten terveydenhuolto osoitteessa Testikuja 12")
- if city == "Tornio":
- print("Aikuisten terveydenhuolto osoitteessa Kokeilukatu 4")
- else:
- print("Alaikäisten terveydenhuolto oman koulun ohjeiden mukaan.")
- # UUSI TIEDOSTO
- # testimuuttujat
- humidity = 92
- temperature = 10
- raining = False
- # jos kosteus yli 80% => raining = True
- if humidity > 80:
- raining = True
- # jos pakkasta, ei puhuta enää sateesat
- if temperature < 0:
- raining = False
- # tässä välissä voisi olla kymmeniä, jopa satoja rivejä muuta koodia
- # joka säätää raining-muuttujaa suuntaan tai toiseen
- # tehdään loppupäätelmä booleanin perusteella
- if raining:
- print("Sataa vettä")
- else:
- print("Ei sada")
- # UUSI TIEDOSTO
- # kysytään käyttäjältä status ja lipun hinta
- status = input("Opiskelija vai aikuinen? (o/a)\n")
- price = input("Lipun alkuperäinen hinta?\n")
- price = float(price)
- # opiskelijat saa 50% alennusta
- # aikuiset maksavat täyden hinnan + palvelumaksu 2.5€
- # paitsi jos lipun hinta yli 100 €, silloin ei palvelumaksua
- if status == 'o':
- # opiskelijan laskentakoodi
- price = price * 0.5
- elif status == 'a':
- # aikuisten laskentakoodi
- # pieni näppäryys, palvelumaksu lisätään vain silloin
- # kuin hinta on alle 100€ (vrt. tehtävänanto ylempänä)
- if price < 100:
- price = price + 2.5
- print(f"Lopullinen hinta: {price} €")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement