Advertisement
tuomasvaltanen

Untitled

Sep 5th, 2023 (edited)
840
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.12 KB | None | 0 0
  1. # Luento 2 - math-, random- ja datetime-moduulit ja ym.
  2.  
  3. # pelkkä print() tulostaa aina yhden \n vakiona
  4. # print()
  5. # tekstiä voidaan tulostaa eri riveille käyttämällä \n,
  6. # voi ketjuttaa useamman peräkkäin jos haluaa
  7. print("Tässä on jotain tekstiä\n\nTämä tulee toiselle riville")
  8. print()
  9.  
  10. # \t sarkain (englanniksi tab). muista käyttää useampaa sarkainta
  11. # jos jokin sanoista menee pitkäksi yli aiemman sarkaimen
  12. print("Lasku:\t\t350 €")
  13. print("Korko:\t\t5%")
  14. print("Päivämäärä:\t5.9.2023")
  15.  
  16. # UUSI TIEDOSTO
  17.  
  18. # Vaihe 1: pyydetään käyttäjältä säästöt inputilla
  19. # HUOM: data tulee aina aluksi tekstinä, vaikka siinä olisi numeroita
  20. savings = input("Kuinka paljon sinulla on säästöjä?\n")
  21.  
  22. # muutetaan käyttäjän syöte (teksti) desimaaliluvuksi (float)
  23. # jos haluat käyttää kokonaislukua ilman desimaaleja: int()
  24. savings = float(savings)
  25.  
  26. # kysytään myös kuukauden palkka
  27. salary = input("Kuinka paljon sait tässä kuussa palkkaa?\n")
  28. salary = float(salary)
  29.  
  30. # Vaihe 2: ohjelman varsinainen logiikka / laskentakaavat
  31.  
  32. # korko, 5%
  33. increase = 1.05
  34.  
  35. # lasketaan lopputulos ja tulostetaan käyttäjälle
  36. total = (savings + salary) * increase
  37.  
  38. # Vaihe 3: tulostetaan lopputulos
  39. print(f"Uusi summa korkojen jälkeen: {total} €")
  40.  
  41. # UUSI TIEDOSTO
  42.  
  43. import math
  44.  
  45. # piin arvo saadaan helposti math-moduulin kautta:
  46. # viikkotehtävissä: aina kun kysytään piin arvoa, käyttäkää tätä
  47. print(math.pi)
  48.  
  49. # ympyrän ympärysmitta = 2 * pi * säde
  50. radius = 13
  51. border = 2 * math.pi * radius
  52.  
  53. # pyöristetään kahteen desimaaliin
  54. border = round(border, 2)
  55.  
  56. print(f"Ympärysmitta: {border} cm")
  57.  
  58. # UUSI TIEDOSTO, sama inputilla
  59.  
  60. import math
  61.  
  62. # piin arvo saadaan helposti math-moduulin kautta:
  63. # viikkotehtävissä: aina kun kysytään piin arvoa, käyttäkää tätä
  64. print(math.pi)
  65.  
  66. # ympyrän ympärysmitta = 2 * pi * säde
  67. # radius = 13
  68. radius = input("Anna säde:\n")
  69. radius = int(radius)
  70.  
  71. # lasketaan ympärysmitta ja pyöristetään
  72. border = 2 * math.pi * radius
  73. border = round(border, 2)
  74.  
  75. # pelkkä => round(border, 2) .... ei toimi
  76. print(f"Ympärysmitta: {border} cm")
  77.  
  78. # UUSI TIEDOSTO
  79.  
  80. import math
  81.  
  82. # kaksi tapaa potenssilaskuihin, kumpi vaan on täysin ok
  83. # math.pow palauttaa arvon desimaalina
  84. total_1 = math.pow(5, 7)
  85. print(total_1)
  86.  
  87. # Pythonin oma potenssilasku antaa vastauksen kokonaisluku
  88. total_2 = 5 ** 7
  89. print(total_2)
  90.  
  91. # neliöjuuri, eli square root => sqrt
  92. value = 9
  93. root_value = math.sqrt(value)
  94. print(root_value)
  95.  
  96. # UUSI TIEDOSTO
  97.  
  98. import random
  99.  
  100. # pyydetään satunnainen kokonaisluku väliltä 4-10
  101. number = random.randint(4, 10)
  102. print(number)
  103. print()
  104.  
  105. # arvotaan pari noppaa
  106. # muista: Ctrl + D tai Macilla Cmd + D => voit kopioida
  107. # valitun rivin alle!
  108. dice1 = random.randint(1, 6)
  109. dice2 = random.randint(1, 6)
  110.  
  111. print(dice1)
  112. print(dice2)
  113.  
  114. # UUSI TIEDOSTO
  115.  
  116. # tarkempi import-lauseke
  117. # eli datetime-moduulista, importataan ominaisuus nimeltä date
  118. from datetime import date
  119.  
  120. # UTC-aikaleima
  121. today = date.today()
  122. print(today)
  123.  
  124. # UUSI TIEDOSTO
  125.  
  126. # perusimportilla tämä näyttäisi hieman hassulta:
  127. # import datetime
  128. # today = datetime.datetime.now()
  129.  
  130. from datetime import datetime
  131.  
  132. # haetaan aikaleima
  133. today = datetime.now()
  134. # print(today)
  135.  
  136. # tarkoitus on tulostaa aika tässä formaatissa:
  137. # PV.KK.VVVV HH:MM:SS
  138.  
  139. # # eli %d = päivä, %m = kuukausi, %Y = vuosi, %H = tunti, %M = minuutti, %S = sekunti
  140. # jos haluat %d ja %m edellä olevan nollan pois:
  141. # Windows: %#d ja %#m
  142. # Unix / Linux / MacOS: %-d ja %-m
  143. date_text = today.strftime("%d.%m.%Y %H:%M:%S")
  144. print(date_text)
  145.  
  146. # UUSI TIEDOSTO
  147.  
  148. from datetime import date, datetime, timedelta
  149.  
  150. # tästä päivästä vuoden loppuun, aikaleimat
  151. first = date(2023, 9, 5)
  152. second = date(2023, 12, 31)
  153.  
  154. # lasketaan aikaleimojen ero päivinä
  155. delta = second - first
  156. days = delta.days
  157.  
  158. # lopputulos
  159. print(f"Päiviä jäljellä tätä vuotta: {days} kpl")
  160.  
  161. # esim. jos lainataan kirjaston kirja, mikä on palautuspäivä
  162. # kolmen viikon päästä?
  163. today = datetime.now()
  164. today = today + timedelta(21)
  165.  
  166. print(f"Palautuspäivä kolmen viikon päästä on: {today}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement