Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # luento 6, 21.10.2024, toistolauseet
- print("Tervetuloa!")
- # UUSI TIEDOSTO
- # for-silmukka, joka ajaa 10 kertaa koodirivin
- # käytännössä käsketään Pythonia
- # ajamaan silmukan sisällä oleva koodi 10 kertaa
- # x on ensimmäisellä kierroksella 0
- # ja viimeisellä kierroksella 9
- for x in range(10):
- print(f"Numero: {x}")
- # UUSI TIEDOSTO
- # apumuuttujat silmukan range():a varten
- start = 2019
- end = 2025
- # voidaan myös määritellä alku ja loppu valitulle
- # kierrosluvuille
- for year in range(start, end):
- print(year)
- # UUSI TIEDOSTO
- # apumuuttujat silmukan range():a varten
- start = 2019
- end = 2025
- # voidaan myös määritellä alku ja loppu valitulle
- # kierrosluvuille
- # voidaan myös skipata joka toinen luku (kolmas parametri)
- for year in range(start, end, 2):
- print(year)
- # UUSI TIEDOSTO
- # for-silmukan laskurimuuttuja on normaali muuttuja
- # ja sitä voi käyttää myös laskutoimituksissa
- # for-silmukka vain huolehtii cycle-muuttujan
- # korottamisesta automaattisesti
- # kokeile tätä ohjelmaa Python Tutorissa!
- print("Ohjelma alkaa!\n")
- for cycle in range(10):
- number = cycle * 2
- print(number)
- print("\nOhjelma loppuu!")
- # UUSI TIEDOSTO
- # alustetaan tyhjä tekstimuuttuja, joka täytetään
- text = ""
- # kokeile myös tätä esimerkkiä Python Tutorissa!
- # silmukassa eri arvoilla
- for year in range(2019, 2025):
- text = text + str(year) + "-"
- # poistetaan viimeinen merkki / ylimääräinen viiva
- # osatekstillä / substring
- text = text[:-1]
- # kun teksti on rakennettu, tulostetaan se lopulta
- print(text)
- # UUSI TIEDOSTO
- print("Aloitus!")
- # 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!\t-> {x}")
- else:
- print(f"Pariton... \t-> {x}")
- print("Lopetus!")
- # UUSI TIEDOSTO
- # laskurimuuttuja while-silmukkaa varten
- counter = 1
- print("Aloitus!\n")
- while counter <= 10:
- print(counter)
- # counteria pitää kasvattaa itse
- # koska muutoin ehto ei täyty koskaan tässä tapauksessa
- counter = counter + 1
- print("\nKIITOS OHJELMAN KÄYTÖSTÄ! OHJELMAN LOPETUS")
- # UUSI TIEDOSTO
- # myös tämä esimerkki on erittäin hyvä
- # ajaa Python Tutorissa
- print("Käynnistetään ohjelma!")
- # apumuuttuja, joka pitää kirjaa siitä
- # pidetäänkö ohjelmaa vielä käynnissä
- running = True
- # ohjelman pääsilmukka, ajetaan tätä niin monta kertaa
- # kuin käyttäjä haluaa
- while running:
- print("Ajetaan ohjelma!")
- print()
- # tässä voisi olla kaikki varsinainen käyttäjän ohjelmalogiikka
- # esim kysytään lukuja, lasketaan jotakin ym. ym.
- number = input("Anna numero: \n")
- number = int(number)
- # tuplataan käyttäjän numero
- total = number * 2
- print(f"\nNumero tuplattuna: {total} \n")
- # VIIMEINEN VAIHE: tarkistetaan haluaako käyttäjä vielä jatkaa
- answer = input("Haluatko jatkaa ohjelman käyttöä? (k/e)\n")
- # pieni kikka: pakotetaan answer pieneksi kirjaimeksi
- # jolloin myös iso E käy
- if answer.lower() == "e":
- # tämän jälkeen while-silmukan ehto ei enää päde
- # ja tämä pääohjelma lopettaa toiminnan ja hyppää while-silmukan
- # jälkeiselle riville (kiitosviestit ym.)
- running = False
- # silmukka päättyi, eli ohjelma ei nää ajeta
- # kiitetään käyttäjää ohjelman käytöstä
- print("Kiitos ohjelman käytöstä!")
- # UUSI TIEDOSTO
- # tehdään ensin päätason silmukka
- for x in range(3):
- print(f"PÄÄSILMUKKA: x = {x}")
- # alisilmukka, joka ajetaan kokonaisuudaan 3 kertaa (pääsilmukan vuoksi)
- # alisilmukka taas ajaa oman koodinsa 5 kertaa
- # kaikkiaan silmukassa ajetaan 3 * 5 = 15 kertaa sisältöä
- for y in range(5):
- print(f"\t\talisilmukka: y = {y}")
- # UUSI TIEDOSTO
- # tätä kannattaa kokeilla Python Tutorissa!
- print("Ajetaan tilausraportti:\n")
- # idea on tämä: meillä on x-määrä tilauksia
- # ja jokaisessa tilauksessa on y-määrä tuotteita
- # voisi myös olla kolmitasoinen, esim.:
- # osasto -> tilaus -> tuote
- for order in range(3):
- print(f"KÄSITELLÄÄN TILAUSTA nro = {order + 1}")
- # käsitellään TÄMÄNHETKISEN TILAUKSEN tuotteet!
- for product in range(5):
- print(f"\tKäsitellään tilauksen {order + 1} tuotetta {product + 1}")
- # kaikki tilaukset ja niiden tuotteet käsitelty,
- # kiitetään käyttäjää
- print("\nRaportti valmis, kiitos ohjelman käytöstä!")
- # UUSI TIEDOSTO
- print("Aloitetaan!")
- # silmukka, joka lopetetaan
- # ennenaikaisesti break-komennon avulla
- for x in range(10):
- # jos x on tasan 6 ==> katkaistaan silmukan toiminta
- if x == 6:
- print("Data löytyi, lopetetaan etsintä!\n")
- # break lopettaa silmukan ajon välittömästi
- # joten jos halutaan tulostaa jotakin ennen sitä
- # on hyvä muistaa tämä (sama koskee continue:ta)
- break
- print(x)
- print("Valmis!")
- # UUSI TIEDOSTO
- print("Aloitetaan!")
- # silmukka, joka lopetetaan
- # ennenaikaisesti break-komennon avulla
- for x in range(10):
- # jos x on tasan 6 ==> skipataan kierros ja
- # jatketaan seuraavasta
- if x == 6:
- print("Skipataan data, viallinen muoto!")
- continue
- print(x)
- print("Valmis!")
- # UUSI TIEDOSTO
- # alustetaan total-muuttuja
- total = 0
- # tällaista rakennetta
- # on nopea ylläpitää, koska vain lukumäärää
- # muutetaan
- for x in range(10):
- number = int(input("Anna numero:\n"))
- total = total + number
- print(total)
- # UUSI TIEDOSTO
- # kysytään käyttäjälyä kierrosten lukumäärä
- cycles = input("Montako lukua kysytään?\n")
- cycles = int(cycles)
- total = 0
- # kysytään niin monta lukua kuin käyttäjä halusi
- for x in range(cycles):
- number = int(input("Anna numero:\n"))
- total = total + number
- print(total)
- # UUSI TIEDOSTO
- # 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} €")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement