Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # koodipaja 5, 24.10.2024
- print("Tervetuloa!")
- # UUSI TIEDOSTO
- # idea: tulostetaan numeroita käyttäjältä 50:n numeron pompseissa
- # aina kun on tulostettu 50 numeroa, kysytään käyttäjältä, haluaako käyttäjä jatkaa
- # (eli haluaako käyttäjä jatkaa)
- # jos haluaa jatkaa, tulostetaan seuraavat 50 tai loput mitä jäljellä on
- # huom: continue -komento on nimensä puolesta hieman harhaanjohtava
- # sillä se ei varsinaisesti liity ohjelman jatkamiseen, vaan sillä
- # vaikutetaan silmukan toimintaan
- # continue -komento ainoastaan skippaa tämän hetkisen kierroksen, ja
- # JATKAA seuraavasta kierroksesta
- # käytetään yleensä väärässä muodossa olevan datan skippaamiseen silmukassa
- # esim. 500 tuotetaa, ja jostain tuotteesta puuttuu hintatieto
- # => continue eli skipataan kyseinen tuote koska hinta puuttuu
- # muuttujat, mihin asti numeroita tulostetaan
- # ja mikä on ensimmäinen numero
- numbers_to_print = 125
- current_number = 0
- # niin kauan kuin tämänhetkinen numero
- # on alle tavoitteen (125), tulosta numero
- while current_number <= numbers_to_print:
- print(current_number)
- # aina 50:n numeron kohdalla, kysytään käyttäjältä
- # halutaanko lisää numeroita
- # jos halutaan, jatketaan normaalisti
- # jos ei haluta, lopetetaan ohjelma
- # huom: current_number != 0 siksi, ettei % 50 pysähdy heti 0:n kohdalla
- # koska 0 % 50 on myöskin 0
- if current_number % 50 == 0 and current_number != 0:
- answer = input("Jatketaanko tulostamista? (k/e)\n")
- # jos käyttäjä vastasi "e" => lopeta silmukka
- if answer.lower() == "e":
- break
- # muista korottaa numeroa, ettei tule ikuinen silmukka
- current_number = current_number + 1
- # UUSI TIEDOSTO
- # VERSIO 2 KORKOLASKURISTA, kokeile Python Tutor
- # kuinka monta vuotta kestää, että pääsemme sijoituksilla tiettyyn voittoon
- start_money = 15000
- yearly_money = 2000
- # korko+ per vuosi, 7%
- interest = 1.07
- # säästötavoite
- target_savings = 150000
- # apumuuttujat silmukkaa varten
- total = start_money
- winnings = 0
- # vuodet, 1 -30
- # aloitetaan 1:stä, jotta winnings-muuttujan
- # laskukaava kertoo vuodet oikein (eikä esim. ensimmäisenä
- # vuonna kerrota 0:lla)
- for year in range(1, 31):
- # lisätään vuosittainen sijoitus
- total = total + yearly_money
- # korkoa korolle
- total = total * interest
- # paljon voittoa tähän mennessä
- # eli vähennetään kaikista rahoista sijoitukset
- winnings = total - start_money - (year * yearly_money)
- # tarkistetaan ollaanko jo tavoitteessa
- # jos ollaan => break -> koska ei ole enää syytä jatkaa koodia
- 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 ole mahdollinen annetulla aikavälillä ja sijoituksilla.")
- # UUSI TIEDOSTO
- # Fibonaccin lukujonossa lasketaan yhteen kaksi edellistä lukua,
- # ja siitä saadaan seuraava luku. Jonon 9 ensimmäistä numeroa ovat:
- # 0, 1, 1, 2, 3, 5, 8, 13, 21
- # TEHTÄVÄNANTO: kysytään käyttäjältä numero, eli kuinka monennen
- # Fibonaccin luvun hän haluaa nähdä, ja sen jälkeen lasketaan
- # tämä luku for-silmukalla
- # Fibonaccissa luku on aina kahden edellisen summa:
- # 0, 1, 1, 2, 3, 5, 8, 13, 21
- # tämän takia esim.
- # 5. luku on 1 + 2 = 3
- # 6. luku on 2 + 3 = 5
- # 7. luku on 3 + 5 = 8
- # 8. luku on 5 + 8 = 13
- # x. luku on vanha + uusi = fibonaccin luku
- # pidetään näissä muuttujissa kirjaa
- # mikä on laskukaavan vanha ja uusi luku
- # ensimmäiset kaksi lukua ovat 0 ja 1
- old_number = 0
- new_number = 1
- # annetaan jokin alkuarvo fibonaccille,
- # tämä ajetaan silmukassa myöhemmin yli
- # fibonaccin luku alussa on 1
- fibonacci = 1
- # kysytään käyttäjältä monesko luku halutaan, int
- choice = input("Monennenko Fibonaccin luvun haluat nähdä?\n")
- # pitää ottaa 2 pois kierrosten määrästä, koska fibonaccin
- # kaksi ensimmäistä lukua ovat jo alussa tiedossa
- # "old_number" ja "new_number" -muuttujat
- choice = int(choice) - 2
- # for-silmukka joka laskee niin kauan uutta Fibonaccin
- # lukua kuin choice-muuttuja määrää
- for number in range(choice):
- print("Uusi kierros alkaa!")
- # päivitetään fibonacci tälle kierrokselle
- # ja tulostetaan tekstiä joka näyttää tämän hetkisen tilanteen
- fibonacci = old_number + new_number
- print(f"Fibonacci nyt: {old_number} + {new_number} = {fibonacci}")
- # päivitetään old_number ja new_number
- # alkuperäinen new_umber on nyt old_number
- # ja tämänhetkinen fibonacci on uusi new_number
- old_number = new_number
- new_number = fibonacci
- print(f"Tämän kierroksen jälkeen: vanha luku = {old_number}, uusi luku = {new_number}\n")
- print(f"Fibonaccin luku = {fibonacci}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement