Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # luento 5, 26.9.2023, toistolauseet
- print("Tervetuloa!")
- # UUSI TIEDOSTO
- # for-silmukka, joka ajaa 10 kertaa
- # käytännössä käsketään Pythonia
- # ajamaan silmukan sisällä oleva koodi 10 kertaa
- # x on 0 ensimmäisellä kierroksella
- # ja 9 viimeisellä kierroksella
- for x in range(10):
- print(f"Numero: {x}")
- # UUSI TIEDOSTO
- # for-silmukan laskurimuuttuja on normaali
- # muuttuja, ja sitä voi käyttää myös laskutoimituksissa
- # for-silmukka vain huolehtii cycle-muuttujan korottamisesta
- # automaattisesti
- for cycle in range(10):
- number = cycle * 2
- print(number)
- # UUSI TIEDOSTO
- start = 2017
- end = 2024
- # raja-arvot voi laittaa myös muuttujina rangeen
- # tässä tapauksessa 2017 -> 2024
- for year in range(start, end):
- print(year)
- # UUSI TIEDOSTO, kokeile tätä Python Tutorissa
- print("Tervetuloa!")
- for cycle in range(10):
- number = cycle * 2
- print(number)
- print("Kiitos ohjelman käytöstä!")
- # UUSI TIEDOSTO
- # tehdään alkuun tyhjä tekstimuuttuja, joka
- # rakennetaan valmiiksi silmukan avulla
- text = ""
- # tätä kannattaa kokeilla Python Tutorissa!
- # silmukka, joka rakentaa text-muuttujan lennosta
- # alkaen vuodesta 2017, ja päättyen 2023
- for year in range(2017, 2024):
- text = text + str(year) + "-"
- # osateksti, substring, otetaan viimeinen merkki pois
- # eli ylimääräinen viiva jonka silmukka tuottaa
- text = text[:-1]
- print(text)
- # UUSI TIEDOSTO
- # kolmas parametri on nimeltään step
- # eli oletuksena year kasvaa aina +1,
- # stepillä voi muuttaa tätä esim +2
- for year in range(2000, 2020, 2):
- print(year)
- # UUSI TIEDOSTO
- print("Aloitetaan!\n")
- # myös if-lauseita voidaan käyttää silmukassa
- # tässä tapauksessa joka toinen kierros menee
- # parilliseksi ja joka toinen parittomaksi
- for x in range(10):
- if x % 2 == 0:
- print(f"Parillinen! Kierros {x}")
- else:
- print(f"Pariton... Kierros {x}")
- print()
- print("Valmis!")
- # UUSI TIEDOSTO
- # while-silmukassa laskurimuuttuja pitää luoda itse
- counter = 1
- # niin kauan kuin counter on alle tai tasan 10
- # aja while-silmukan sisällä oleva koodi
- # huom: counteria pitää nostaa joka kierroksen lopussa
- # ettei tule ns. ikuinen silmukka
- while counter <= 10:
- print(counter)
- # kasvatetaan counteria + 1 joka kierroksen lopussa
- counter = counter + 1
- # UUSI TIEDOSTO
- print("Tervetuloa ohjelman pariin!")
- # tehdään apumuuttuja, joka pitää kirjaa siitä
- # pidetäänkö ohjelmaa enää käynnis
- running = True
- # ohjelman pääsilmukka, joka pitää ohjelman käynnissä
- # niin kauan kuin käyttäjä haluaa
- while running:
- print("Ohjelma on käynnissä!")
- # tähän kaikki varsinainen logiikka
- number = input("Anna numero:\n")
- number = int(number)
- # tuplataan käyttäjän numero
- total = number * 2
- print(f"Numero tuplattuna: {total}")
- print()
- choice = input("Haluatko jatkaa ohjelman käyttöä? (k/e)\n")
- # pieni kikka: pakotetaan choice pieniksi kirjaimiksi, jolloin
- # myös iso E toimii!
- if choice.lower() == 'e':
- running = False
- # tämä ajetaan vasta kun while-silmukkaa lopettaa toiminnan
- print("Kiitos ohjelman käytöstä!")
- # UUSI TIEDOSTO
- # tehdään ensin ylätason pääsilmukka
- for x in range(3):
- print(f"PÄÄSILMUKKA: x = {x}")
- # alisilmukka, tämä ajetaan 3 kertaa koko silmukka
- # koska pääsilmukkaa ajetaan 3 kertaa
- # alisilmukka taas ajaa oman koodinsa 5 kertaa
- for y in range(5):
- print(f"\t\talisilmukka: y = {x}")
- # UUSI TIEDOSTO
- # tätä kannattaa kokeilla myös Python Tutorissa!
- print("Ajetaan tilausraportti:")
- # pääsilmukka käy läpi tilaukset tilaukset (3 kpl)
- for order in range(3):
- print(f"KÄSITELLÄÄN TILAUSTA nro = {order}")
- # alisilmukka käsittelee käsittelyssä olevan TILAUKSEN
- # sisällä olevat TUOTTEET, oletuksena nyt että joka tilauksessa
- # on tasan 5 tuotetta
- for product in range(5):
- print(f"\tKäsitellään tilauksen {order} tuotetta {product}!")
- print("Valmis, kiitos ohjelman käytöstä!")
- # UUSI TIEDOSTO
- print("Aloitetaan ohjelma!")
- print()
- # viisi henkilö silmukassa
- for person in range(5):
- print(f"Henkilön {person + 1} vuoro puhua!")
- # jokaisen henkilön pitää sanoa vuorollaan numerot 1-4
- for number in range(4):
- print(f"\tHenkilö {person + 1} sanoo numeron {number + 1}!")
- print("Kaikki ovat puhuneet!")
- # UUSI TIEDOSTO
- print("Aloitetaan!")
- # silmukka 0 - 9
- # tavoite, kun tulee x:n arvo 6 vastaan
- # tuote on löytynyt
- for x in range(10):
- # jos x on tasan 6 -> katkaistaan silmukka
- if x == 6:
- print("Data löytyi, lopetetaan etsintä!\n")
- break
- print(x)
- print("Valmis!")
- # UUSI TIEDOSTO
- print("Aloitetaan!")
- # silmukka 0 - 9
- # tavoite, kun tulee x:n arvo 6 vastaan
- # skipataan koko kierros
- for x in range(10):
- # jos x on tasan 6 -> katkaistaan silmukka
- if x == 6:
- print("Huono arvo, skipataan kierros!")
- continue
- print(x)
- print("Valmis!")
- # UUSI TIEDOSTO
- total = 0
- # annetaan Pythonin tehdä työt
- # ja kysyä käyttäjältä numero
- # 10 kertaa peräkkäin, lisätään aina total-muuttujaan
- for x in range(10):
- number = int(input("Anna numero:\n"))
- total = total + number
- print(total)
- # UUSI TIEDOSTO
- # voidaan myös antaa käyttäjän vaikuttaa kierrosten lukumäärään
- # HUOM! älä koskaan yritä reagoida käyttäjän
- # lukumäärään if-lauseella, koska se on lähtökohtaisesti loputon
- # suo ehtolauseita. (paitsi jos vaihtoehtoja on esim. vain 3)
- cycles = input("Montako lukua kysytään?\n")
- cycles = int(cycles)
- total = 0
- # ajetaan silmukkaa niin monta kertaa kuin käyttäjä halusi (cycles)
- for x in range(cycles):
- number = int(input("Anna numero:\n"))
- total = total + number
- print(total)
- # UUSI TIEDOSTO
- # korkoa korolle -laskuri, silmukoilla, ei matemaattista kaavaa
- # korkolaskuri
- # vuosikorko 7%, kuinka paljon on rahaa tilillä 10v päästä?
- # lisätään joka vuosi aina 2000 € lisää
- start_money = 15000
- yearly_money = 2000
- # korkoprosentti, eli 7% korotus => 1.07
- interest = 1.07
- total = start_money
- # tehdään silmukka, mikä käy kaikki vuodet, ja kasvattaa korkopottia sitä mukaa
- for year in range(10):
- # lisätään joka vuoden alussa 2000€ tilille
- # jos halutaan että raha lisätään vasta vuoden lopussa
- # aseta tämä korkolaskun jälkeen
- total = total + yearly_money
- # lasketaan vuoden korko
- total = total * interest
- # koko rahasumma lopuksi, sis. kaikki sijoitukset
- total = round(total, 2)
- # paljon tuli voittoa
- new_money = total - start_money - (10 * yearly_money)
- print(f"Rahaa tilillä 10v jälkeen: {total} €")
- print(f"Tienattiin 10v jälkeen:: {new_money} €")
- # UUSI TIEDOSTO
- # VERSIO 2 KORKOLASKURISTA
- # kuinka monta vuotta kestää, että pääsemme sijoituksilla tiettyyn voittoon
- start_money = 15000
- yearly_money = 2000
- # tavoite
- target_savings = 150000
- interest = 1.07
- # apumuuttujat silmukkaa varten
- total = start_money
- winnings = 0
- # vuodet 1 - 30
- for year in range(1 , 31):
- # lisätään vuosittainen sijoitus
- total = total + yearly_money
- # korkoa korolle
- total = total * interest
- # kuinka paljon voittoa tähän vuoteen mennessä
- winnings = total - start_money - (year * yearly_money)
- # tarkistetaan ollaanko jo tavoitteessa, jos ollaan
- # break -> koska ei tarvitse enää jatkaa laskemista
- if winnings >= target_savings:
- print(f"Tavoitteeseen päästiin vuonna: {year}")
- break
- # jos kävi niin ettei päästy tavoitteeseen, ilmoitetaan käyttäjälle
- if winnings < target_savings:
- print("Tavoite ei onnistu tällä aikavälillä ja sijoituksilla.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement