Advertisement
tuomasvaltanen

Untitled

Oct 21st, 2024 (edited)
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.94 KB | None | 0 0
  1. # luento 6, 21.10.2024, toistolauseet
  2. print("Tervetuloa!")
  3.  
  4. # UUSI TIEDOSTO
  5.  
  6. # for-silmukka, joka ajaa 10 kertaa koodirivin
  7. # käytännössä käsketään Pythonia
  8. # ajamaan silmukan sisällä oleva koodi 10 kertaa
  9. # x on ensimmäisellä kierroksella 0
  10. # ja viimeisellä kierroksella 9
  11. for x in range(10):
  12.     print(f"Numero: {x}")
  13.  
  14. # UUSI TIEDOSTO
  15.  
  16. # apumuuttujat silmukan range():a varten
  17. start = 2019
  18. end = 2025
  19.  
  20. # voidaan myös määritellä alku ja loppu valitulle
  21. # kierrosluvuille
  22. for year in range(start, end):
  23.     print(year)
  24.  
  25. # UUSI TIEDOSTO
  26.  
  27. # apumuuttujat silmukan range():a varten
  28. start = 2019
  29. end = 2025
  30.  
  31. # voidaan myös määritellä alku ja loppu valitulle
  32. # kierrosluvuille
  33. # voidaan myös skipata joka toinen luku (kolmas parametri)
  34. for year in range(start, end, 2):
  35.     print(year)
  36.  
  37. # UUSI TIEDOSTO
  38.  
  39. # for-silmukan laskurimuuttuja on normaali muuttuja
  40. # ja sitä voi käyttää myös laskutoimituksissa
  41. # for-silmukka vain huolehtii cycle-muuttujan
  42. # korottamisesta automaattisesti
  43.  
  44. # kokeile tätä ohjelmaa Python Tutorissa!
  45. print("Ohjelma alkaa!\n")
  46.  
  47. for cycle in range(10):
  48.     number = cycle * 2
  49.     print(number)
  50.  
  51. print("\nOhjelma loppuu!")
  52.  
  53. # UUSI TIEDOSTO
  54.  
  55. # alustetaan tyhjä tekstimuuttuja, joka täytetään
  56. text = ""
  57.  
  58. # kokeile myös tätä esimerkkiä Python Tutorissa!
  59. # silmukassa eri arvoilla
  60. for year in range(2019, 2025):
  61.     text = text + str(year) + "-"
  62.  
  63. # poistetaan viimeinen merkki / ylimääräinen viiva
  64. # osatekstillä / substring
  65. text = text[:-1]
  66.  
  67. # kun teksti on rakennettu, tulostetaan se lopulta
  68. print(text)
  69.  
  70. # UUSI TIEDOSTO
  71.  
  72. print("Aloitus!")
  73.  
  74. # myös if-lauseita voidaan käyttää silmukassa
  75. # tässä tapauksessa joka toinen kierros menee
  76. # parilliseksi ja joka toinen parittomaksi
  77. for x in range(10):
  78.     if x % 2 == 0:
  79.         print(f"Parillinen!\t-> {x}")
  80.     else:
  81.         print(f"Pariton... \t-> {x}")
  82.  
  83. print("Lopetus!")
  84.  
  85. # UUSI TIEDOSTO
  86.  
  87. # laskurimuuttuja while-silmukkaa varten
  88. counter = 1
  89.  
  90. print("Aloitus!\n")
  91.  
  92. while counter <= 10:
  93.     print(counter)
  94.  
  95.     # counteria pitää kasvattaa itse
  96.     # koska muutoin ehto ei täyty koskaan tässä tapauksessa
  97.     counter = counter + 1
  98.  
  99. print("\nKIITOS OHJELMAN KÄYTÖSTÄ! OHJELMAN LOPETUS")
  100.  
  101. # UUSI TIEDOSTO
  102.  
  103. # myös tämä esimerkki on erittäin hyvä
  104. # ajaa Python Tutorissa
  105. print("Käynnistetään ohjelma!")
  106.  
  107. # apumuuttuja, joka pitää kirjaa siitä
  108. # pidetäänkö ohjelmaa vielä käynnissä
  109. running = True
  110.  
  111. # ohjelman pääsilmukka, ajetaan tätä niin monta kertaa
  112. # kuin käyttäjä haluaa
  113. while running:
  114.     print("Ajetaan ohjelma!")
  115.     print()
  116.  
  117.     # tässä voisi olla kaikki varsinainen käyttäjän ohjelmalogiikka
  118.     # esim kysytään lukuja, lasketaan jotakin ym. ym.
  119.     number = input("Anna numero: \n")
  120.     number = int(number)
  121.  
  122.     # tuplataan käyttäjän numero
  123.     total = number * 2
  124.     print(f"\nNumero tuplattuna: {total} \n")
  125.  
  126.     # VIIMEINEN VAIHE: tarkistetaan haluaako käyttäjä vielä jatkaa
  127.     answer = input("Haluatko jatkaa ohjelman käyttöä? (k/e)\n")
  128.  
  129.     # pieni kikka: pakotetaan answer pieneksi kirjaimeksi
  130.     # jolloin myös iso E käy
  131.     if answer.lower() == "e":
  132.         # tämän jälkeen while-silmukan ehto ei enää päde
  133.         # ja tämä pääohjelma lopettaa toiminnan ja hyppää while-silmukan
  134.         # jälkeiselle riville (kiitosviestit ym.)
  135.         running = False
  136.  
  137. # silmukka päättyi, eli ohjelma ei nää ajeta
  138. # kiitetään käyttäjää ohjelman käytöstä
  139. print("Kiitos ohjelman käytöstä!")
  140.  
  141. # UUSI TIEDOSTO
  142.  
  143. # tehdään ensin päätason silmukka
  144. for x in range(3):
  145.     print(f"PÄÄSILMUKKA: x = {x}")
  146.  
  147.     # alisilmukka, joka ajetaan kokonaisuudaan 3 kertaa (pääsilmukan vuoksi)
  148.     # alisilmukka taas ajaa oman koodinsa 5 kertaa
  149.     # kaikkiaan silmukassa ajetaan 3 * 5 = 15 kertaa sisältöä
  150.     for y in range(5):
  151.         print(f"\t\talisilmukka: y = {y}")
  152.  
  153. # UUSI TIEDOSTO
  154.  
  155. # tätä kannattaa kokeilla Python Tutorissa!
  156. print("Ajetaan tilausraportti:\n")
  157.  
  158. # idea on tämä: meillä on x-määrä tilauksia
  159. # ja jokaisessa tilauksessa on y-määrä tuotteita
  160. # voisi myös olla kolmitasoinen, esim.:
  161. # osasto -> tilaus -> tuote
  162. for order in range(3):
  163.     print(f"KÄSITELLÄÄN TILAUSTA nro = {order + 1}")
  164.  
  165.     # käsitellään TÄMÄNHETKISEN TILAUKSEN tuotteet!
  166.     for product in range(5):
  167.         print(f"\tKäsitellään tilauksen {order + 1} tuotetta {product + 1}")
  168.  
  169. # kaikki tilaukset ja niiden tuotteet käsitelty,
  170. # kiitetään käyttäjää
  171. print("\nRaportti valmis, kiitos ohjelman käytöstä!")
  172.  
  173. # UUSI TIEDOSTO
  174.  
  175. print("Aloitetaan!")
  176.  
  177. # silmukka, joka lopetetaan
  178. # ennenaikaisesti break-komennon avulla
  179. for x in range(10):
  180.     # jos x on tasan 6 ==> katkaistaan silmukan toiminta
  181.     if x == 6:
  182.         print("Data löytyi, lopetetaan etsintä!\n")
  183.        
  184.         # break lopettaa silmukan ajon välittömästi
  185.         # joten jos halutaan tulostaa jotakin ennen sitä
  186.         # on hyvä muistaa tämä (sama koskee continue:ta)
  187.         break
  188.  
  189.  
  190.     print(x)
  191.  
  192. print("Valmis!")
  193.  
  194. # UUSI TIEDOSTO
  195.  
  196. print("Aloitetaan!")
  197.  
  198. # silmukka, joka lopetetaan
  199. # ennenaikaisesti break-komennon avulla
  200. for x in range(10):
  201.     # jos x on tasan 6 ==> skipataan kierros ja
  202.     # jatketaan seuraavasta
  203.     if x == 6:
  204.         print("Skipataan data, viallinen muoto!")
  205.         continue
  206.  
  207.     print(x)
  208.  
  209. print("Valmis!")
  210.  
  211. # UUSI TIEDOSTO
  212.  
  213. # alustetaan total-muuttuja
  214. total = 0
  215.  
  216. # tällaista rakennetta
  217. # on nopea ylläpitää, koska vain lukumäärää
  218. # muutetaan
  219. for x in range(10):
  220.     number = int(input("Anna numero:\n"))
  221.     total = total + number
  222.  
  223. print(total)
  224.  
  225. # UUSI TIEDOSTO
  226.  
  227. # kysytään käyttäjälyä kierrosten lukumäärä
  228. cycles = input("Montako lukua kysytään?\n")
  229. cycles = int(cycles)
  230.  
  231. total = 0
  232.  
  233. # kysytään niin monta lukua kuin käyttäjä halusi
  234. for x in range(cycles):
  235.     number = int(input("Anna numero:\n"))
  236.     total = total + number
  237.  
  238. print(total)
  239.  
  240. # UUSI TIEDOSTO
  241.  
  242. # UUSI TIEDOSTO
  243.  
  244. # korkoa korolle -laskuri, silmukoilla, ei matemaattista kaavaa
  245.  
  246. # korkolaskuri
  247. # vuosikorko 7%, kuinka paljon on rahaa tilillä 10v päästä?
  248. # lisätään joka vuosi aina 2000 € lisää
  249. start_money = 15000
  250. yearly_money = 2000
  251.  
  252. # korkoprosentti, eli 7% korotus => 1.07
  253. interest = 1.07
  254.  
  255. total = start_money
  256.  
  257. # tehdään silmukka, mikä käy kaikki vuodet, ja kasvattaa korkopottia sitä mukaa
  258. for year in range(10):
  259.     # lisätään joka vuoden alussa 2000€ tilille
  260.     # jos halutaan että raha lisätään vasta vuoden lopussa
  261.     # aseta tämä korkolaskun jälkeen
  262.     total = total + yearly_money
  263.  
  264.     # lasketaan vuoden korko
  265.     total = total * interest
  266.  
  267. # koko rahasumma lopuksi, sis. kaikki sijoitukset
  268. total = round(total, 2)
  269.  
  270. # paljon tuli voittoa
  271. new_money = total - start_money - (10 * yearly_money)
  272.  
  273. print(f"Rahaa tilillä 10v jälkeen: {total} €")
  274. print(f"Tienattiin 10v jälkeen:: {new_money} €")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement