Advertisement
tuomasvaltanen

Untitled

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