tuomasvaltanen

Untitled

Nov 26th, 2020 (edited)
687
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Adobe Connect -luento, 26.11, Funktiot
  2.  
  3. # functions.py -tiedostoon:
  4. # omat funktiot tänne
  5.  
  6. import math
  7.  
  8. def print_title():
  9.     print("Tervetuloa ohjelmaan!")
  10.     print("---------------------")
  11.     print("Seuraa näytön ohjeita.")
  12.     print(math.pi)
  13.  
  14. def combine_text(first, surname, age):
  15.     print(f"{first} {surname}, ikä: {age}v.")
  16.  
  17.  
  18. def get_year():
  19.     y = 2020
  20.     return y
  21.  
  22.  
  23. # funktio, joka muuttaa tuntimäärän
  24. # kokonaisiksi päivälukumääräksi
  25. def get_days(hours):
  26.     days = hours / 24
  27.     days = int(days)
  28.     return days
  29.  
  30.  
  31. # funktio joka muuttaa tekstin toisinpäin
  32. def reverse_string(text):
  33.     result = text[::-1]
  34.     return result
  35.  
  36. # funktio joka tarkistaa että onko annettu
  37. # luku parillinen vai pariton
  38. def get_even_number_text(number):
  39.     if number % 2 == 0:
  40.         return "Parillinen"
  41.     else:
  42.         return "Pariton"
  43.  
  44. # funktio, joka tarkistaa onko annettu
  45. # teksti palindromi
  46. def check_palindrome(text):
  47.     reversed_text = reverse_string(text)
  48.  
  49.     if text == reversed_text:
  50.         return True
  51.     else:
  52.         return False
  53.  
  54.  
  55. # funktio, joka tarkistaa onko tilauskoodi
  56. # 10 merkkiä pitkä ja onko ensimmäinen kirjain T
  57. def check_order(code):
  58.     okay = True
  59.  
  60.     # jos koodi ei ole 10 merkkiä pitkä
  61.     # päätetään että koodi ei ole ok
  62.     if len(code) != 10:
  63.         okay = False
  64.  
  65.     # jos koodin eka kirjain ei ole T
  66.     # päätetään että koodi ei ole ok
  67.     if code[0] != "T":
  68.         okay = False
  69.  
  70.     # palautetaan lopulta okay-muuttuja
  71.     # joka on joko True tai False
  72.     return okay
  73.  
  74.  
  75. # funktio, joka laskee listan keskiarvon
  76. def get_average(numbers):
  77.     total = sum(numbers)
  78.     amount = len(numbers)
  79.     average = total / amount
  80.     average = round(average, 1)
  81.     return average
  82.  
  83.  
  84. # esimerkki, funktio joka käyttää silmukkaa
  85. def show_letters(value):
  86.     print("Sana pystysuunnassa:")
  87.  
  88.     for c in value:
  89.         print(c.upper())
  90.  
  91.  
  92. # rekursiivinen funktio, joka laskee kertoman
  93. def factorial(number):
  94.     if number == 1:
  95.         return number
  96.     else:
  97.         next_number = number - 1
  98.         total = number * factorial(next_number)
  99.         return total
  100.  
  101. # esim. test_exercise.py
  102.  
  103. from functions import *
  104.  
  105. # varsinainen ohjelma, viikkotehtävät tai
  106. # jokin muu tänne
  107. print("Ennen funktiota.")
  108.  
  109. print_title()
  110.  
  111. print("Funktion jälkeen.")
  112.  
  113. combine_text("Testi", "Henkilö", 28)
  114. print("Loppu.")
  115.  
  116. # haetaan vuosi omasta funktiosta
  117. year = get_year()
  118. print(f"Nyt on vuosi {year}.")
  119.  
  120. print("Loppu.")
  121.  
  122.  
  123. user_number = input("Anna luku!\n")
  124. user_number = int(user_number)
  125. result = get_even_number_text(user_number)
  126. print(result)
  127. print("Loppu.")
  128.  
  129. reversed_text = reverse_string("lunta sataa")
  130. print(reversed_text)
  131.  
  132. hours = input("Anna tunnit:\n")
  133. hours = int(hours)
  134.  
  135. result = get_days(hours)
  136. print(f"{result} päivää")
  137.  
  138. print("Loppu")
  139.  
  140. # UUSI TIEDOSTO
  141. # esim. test_exercise2.py
  142.  
  143. from functions import *
  144.  
  145. print("Aloitetaan:")
  146.  
  147. palindrome = check_palindrome("kalevankisat")
  148.  
  149. if palindrome:
  150.     print("Palindromi!")
  151. else:
  152.     print("Ei ole palindromi.")
  153.  
  154. print("Loppu")
  155.  
  156. # tämän pitäisi olla virheellinen tuotekoodi
  157. good_order = check_order("T58095t7rusgh46728679")
  158. print(good_order)
  159.  
  160. if good_order:
  161.     print("Tuotekoodi ok!")
  162. else:
  163.     print("Tuotekoodin tulee olla 10 merkkiä pitkä, ja sen pitää alkaa isolla T:llä!")
  164.  
  165. # lasketaan keskiarvo omalla funktiolla
  166. grades = [1, 5, 4, 5, 3, 2, 4, 5, 4, 5]
  167. average = get_average(grades)
  168. average = round(average, 1)
  169. print(average)
  170.  
  171. # kokeillaan pystysuuntafunktio, joka on itse tehty
  172. show_letters("hotel")
  173. show_letters("toimiiko tämä sillä tavalla kuin tämä on koodattu?")
  174.  
  175. # lasketaan keskiarvoja eri listoille
  176. # omat funktiot ovat käteviä jos sama juttu pitää
  177. # tehdä monta kertaa!
  178. numbers = [123, 3445, 654, 356, 789, 543, 576]
  179. grades = [1, 5, 4, 5, 3, 2, 4, 5, 4, 5]
  180. temperatures = [-5.7, -4.8, -11.8, -8.5, 6.4]
  181. prices = [99, 199, 149, 299, 249]
  182.  
  183. # arvosanat
  184. average = get_average(grades)
  185. print(average)
  186.  
  187. # numerot
  188. average = get_average(numbers)
  189. print(average)
  190.  
  191. # lämpötilat
  192. average = get_average(temperatures)
  193. print(average)
  194.  
  195. # hinnat
  196. average = get_average(prices)
  197. print(average)
  198.  
  199. # kustutaan rekursiivista funktiota
  200. print(factorial(5))
  201. print("Loppu")
RAW Paste Data