Advertisement
tuomasvaltanen

Untitled

Nov 18th, 2024 (edited)
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.23 KB | None | 0 0
  1. # Johdatus ohjelmointiin, luento 10, 18.11.2024, funktiot
  2. print("Tervetuloa!")
  3.  
  4. # FUNKTIOTIEDOSTO functions. py
  5.  
  6. # functions.py, kaikki omat funktiot
  7. # tänne, ikään kuin "työkalupakki" jossa
  8. # kaikki omat funktiot ovat valmiina
  9. # käytettäväksi muissa ohjelmissa
  10.  
  11. # määritellään oma funktio nimeltä
  12. # show_text()
  13. # HUOM: oma funktio ei tee koodissa mitään
  14. # ennen kuin sitä kutsutaan/käytetään jossakin
  15. def show_text():
  16.     print("Tervetuloa ohjelman käyttäjäksi!")
  17.     print("--------------------------------")
  18.     print("Seuraa ohjeita!")
  19.     print()
  20.  
  21.  
  22. # funktio joka tulostaa koko nimen ja iän
  23. # parametrien avulla
  24. def combine_text(first, last, age):
  25.     print(f"Tervetuloa: {first} {last}!")
  26.     print(f"Ikäsi on: {age} vuotta.")
  27.  
  28.  
  29. # funktio, joka palauttaa return-komennolla tietoa
  30. def get_year():
  31.     year = 2024
  32.     return year
  33.  
  34. # funktio, joka päättelee annetusta numerosta
  35. # onko kyseessä parillinen vai pariton luku
  36. def get_even_number_text(number):
  37.     if number % 2 == 0:
  38.         return "Parillinen"
  39.     else:
  40.         return "Pariton"
  41.  
  42.  
  43. # apufunktio, joka laskee tunneista
  44. # päivien lukumäärän
  45. def hours_to_days(hours):
  46.     result = hours // 24
  47.     return result
  48.  
  49.  
  50. # apufunktio joka kääntää tekstin toisinpäin
  51. def reverse_string(text):
  52.     return text[::-1]
  53.  
  54.  
  55. # apufunktio, joka tarkistaa onko
  56. # annettu teksti palindromi vai ei
  57. def check_palindrome(text):
  58.     # kutsutaan toista omaa funktiota
  59.     reversed_text = reverse_string(text)
  60.  
  61.     # tarkistetaan onko teksti palindromi
  62.     # ja palautetaan tilanteesta riippuen
  63.     # boolean (True tai False)
  64.     if text == reversed_text:
  65.         return True
  66.     else:
  67.         return False
  68.  
  69.  
  70. # apufunktio, joka tarkistaa onko syötetty
  71. # tilauskoodi oikeassa formaatissa
  72. # oikea formaatti: 10 merkkiä pitkä, ensimmäinen
  73. # kirjain on T
  74. # ns. validointifunktio, joka tarkistaa oikean muodon
  75. def check_order(code):
  76.     result = True
  77.  
  78.     # jos koodi EI OLE tasan 10 merkkiä => False
  79.     if len(code) != 10:
  80.         result = False
  81.  
  82.     # jos koodin ensimmäinen merkki EI OLE -> T -> False
  83.     if code[0] != "T":
  84.         result = False
  85.  
  86.     return result
  87.  
  88.  
  89. # apufunktio, joka tulostaa listan sisällön allekkain
  90. def show_list(data):
  91.     # tulostetaan sisältö silmukalla
  92.     for word in data:
  93.         print(word)
  94.  
  95.  
  96. # apufunktio, joka laskee
  97. # listan keskiarvon huolimatta siitä mitä siinä on
  98. def get_list_average(numbers):
  99.     total = sum(numbers)
  100.     amount = len(numbers)
  101.     result = total / amount
  102.     result = round(result, 2)
  103.     return result
  104.  
  105. #######################################
  106. # MUUT KOODIT, ELI VARSINAISET OHJELMAT
  107.  
  108. from functions import *
  109.  
  110. # tässä on varsinainen ohjelma
  111.  
  112. show_text()
  113. print()
  114.  
  115. # kokeillaan toista funktiota joka tehtiin
  116. combine_text("Herra", "Hakkarainen", 42)
  117.  
  118. # UUSI TIEDOSTO
  119.  
  120. from functions import *
  121.  
  122. # koska get_year palauttaa tietoa returnilla
  123. # tarvitaan samalla muuttuja, joka ottaa vastaan tietoa
  124. result = get_year()
  125. print(result)
  126.  
  127. # UUSI TIEDOSTO
  128.  
  129. from functions import *
  130.  
  131. # kysytään käyttäjältä jokin numero
  132. value = input("Syötä jokin numero:\n")
  133. value = int(value)
  134.  
  135. # kutsutaan apufunktiota, joka päättelee
  136. # onko numero pariton vai parillinen
  137. result = get_even_number_text(value)
  138. print(result)
  139.  
  140. # UUSI TIEDOSTO
  141.  
  142. from functions import *
  143.  
  144. # kutsutaan apufunktiota, joka
  145. # kääntää tekstin toisinpäin
  146. text = reverse_string("lunta sataa")
  147. print(text)
  148.  
  149. # UUSI TIEDOSTO
  150.  
  151. # tarkoittaa: importataan kaikki funktiot
  152. # tiedostosta functions.py
  153. from functions import *
  154.  
  155. # kysytään käyttäjältä tuntien määrä
  156. value = input("Anna tuntien lukumäärä:\n")
  157. value = int(value)
  158.  
  159. # syötetään käyttäjän antama luku
  160. # funktiolle, joka laskee päivien lukumäärän
  161. days = hours_to_days(value)
  162. print(days)
  163.  
  164. # UUSI TIEDOSTO
  165.  
  166. # tarkoittaa: importataan kaikki funktiot
  167. # tiedostosta functions.py
  168. from functions import *
  169.  
  170. word = input("Anna jokin sana:\n")
  171.  
  172. # käytetään omaa funktiota siihen
  173. # onko teksti palindromi vai ei
  174. palindrome = check_palindrome(word)
  175.  
  176. # funktion tuloksen pohjalta
  177. # => ilmoitetaan käyttäjälle onko kyseessä
  178. # palindromi vai ei
  179. if palindrome:
  180.     print("Palindromi!")
  181. else:
  182.     print("Ei ole palindromi...")
  183.  
  184. # UUSI TIEDOSTO
  185.  
  186. # tarkoittaa: importataan kaikki funktiot
  187. # tiedostosta functions.py
  188. from functions import *
  189.  
  190. # käytetään funktiota tarkistamaan
  191. # onko koodi oikeassa muodossa
  192. test = "T6576fdasfd87596"
  193. result = check_order(test)
  194.  
  195. # tulostetaan viesti tuloksen (boolean) perusteella
  196. if result:
  197.     print("Tilauskoodi OK!")
  198. else:
  199.     print("Tilauskoodi ei ole OK...")
  200.  
  201. # UUSI TIEDOSTO
  202.  
  203. from functions import *
  204.  
  205. # lista kaupunkeja
  206. words = ["Helsinki", "Rovaniemi", "Oulu", "Tampere"]
  207.  
  208. # käytetään apufunktiota tulostamaan sisältö
  209. show_list(words)
  210. print()
  211.  
  212. # UUSI TIEDOSTO
  213.  
  214. from functions import *
  215.  
  216. numbers = [5, 7, 9, 8, 5, 4, 6, 7, 8, 10, 9]
  217. grades = [1, 5, 3, 4, 3, 2, 3, 1, 4, 5, 5, 4]
  218. temperatures = [-5.6, -3.4, -7.9, -3.0, -2.5]
  219.  
  220. # keskiarvo 1
  221. average = get_list_average(numbers)
  222. print(average)
  223.  
  224. # keskiarvo 2
  225. average = get_list_average(grades)
  226. print(average)
  227.  
  228. # keskiarvo 3
  229. average = get_list_average(temperatures)
  230. print(average)
  231.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement