Advertisement
tuomasvaltanen

Untitled

Nov 2nd, 2023 (edited)
718
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.19 KB | None | 0 0
  1. # Johdatus ohjelmointiin, 2.11.2023, koodityöpaja
  2. print("Tervetuloa!")
  3.  
  4. # UUSI TIEDOSTO
  5.  
  6. # tämä muuttuja kirjaa siitä, kuinka paljon sadetta on kaikkiaan ollut
  7. total = 0
  8.  
  9. # ajetaan seuraava koodi 12 kertaa
  10. # => eli kysytään käyttäjältä sademäärä 12 kertaa
  11. for x in range(12):
  12.     rain = input("Syötä sademäärä:\n")
  13.     rain = float(rain)
  14.     total = total + rain
  15.  
  16.     # silmukassa kannattaa vain kerryttää summaa
  17.     # kaikki keskiarvoon ja pyöristämiseen voi tehdä silmukan jälkeen
  18.     # tällä myös vältetään turhat laskutoimitukset ja ennen kaikkea pyöristysvirheet
  19.  
  20.  
  21. # silmukan jälkeen, katsotaan kuinka paljon sadetta kaikkiaan oli
  22. print(total)
  23.  
  24. # UUSI TIEDOSTO
  25.  
  26. # tämä koodisto voisi tulla vaikka jostain
  27. # tietokantajärjestelmästä, ja näitä voisi
  28. # hyvinkin olla vaikka satoja kappaleita!
  29. # tässä harjoituksessa tuotekoodit ovat suoraan
  30. # tässä lista-muuttujassa. (kokeilemme myöhemmin kurssilla
  31. # myös ladata dataa myös internetistä!)
  32. products = ["K1565_2017_ST7745", "T2432_2019_FE84",
  33.             "T8551_2018_XA413", "T3345_2019_JK142",
  34.             "Y51372_2019_HJ2", "Y76715_2017_AB3",
  35.             "E98144_2018_21T", "T7733_2020_CE55",
  36.             "E7614_2021_XZA784", "E9722_2017_MHE67",
  37.             "Y82018_2020_FI95", "T61287_2021_IA293",
  38.             "E9152_2019_TY5", "T774_2021_OB672"]
  39.  
  40. # Pyydä käyttäjältä vuosiluku
  41. # inputilla pyydetään vuosiluku käyttäjältä
  42. user_input = "2018"
  43.  
  44. # vinkki: jos pitää prosessoida jotakin listaa => lähtökohtaisesti tarvitaan silmukka
  45. for p in products:
  46.     # tulosta PELKKÄ TILAUSKOODI => jos user_input == tuotteen vuosiluku
  47.     # muussa tapauksessa älä tulosta mitään
  48.     # aja silmukkaa kunnes koke tuotelista on käyty läpi
  49.  
  50.     # halkaistaan tällä hetkellä käsittelyssä oleva tuotekoodi osiin:
  51.     parts = p.split("_")
  52.     print(parts)
  53.  
  54.     # tämän jälkeen voidaan tehdä apumuuttujia:
  55.     # esim. code = parts[0] tai year = parts[1]
  56.  
  57.     # if user_input in p ei ole hyvä ratkaisu, koska jos käyttäjän vuosi on 2018
  58.     # silloin koodin mukaan Y82018_2020_FI95 kuuluu myös vuoteen 2018, vaikka se kuuluu vuoteen 2020
  59.  
  60.     # tämän sijaan on parempi verrata suoraan tarkkaan muuttujaan käyttäjän vuotta
  61.     # eli tyyliin jos user_input == year (ks. ylempää, parts[1])
  62.     # jos user_input ja year täsmää => tulostetaan p, mussa tapauksessa ei tehdä mitään
  63.     # ei tarvitse elseä, koodi skippaa tulostamisen automaattisesti muutenkin jos ehto ei täyty
  64.  
  65. # UUSI TIEDOSTO
  66.  
  67. # tehtävään 6.6 lisätehtävään vinkkejä:
  68.  
  69. # kuvitellaan että käyttäjän arvo on muuttujassa choice
  70.  
  71. # if choice.isnumeric() => käyttäjä syötti numeron
  72.     # haetaan käyttäjän syöttämän numeron mukainen ruoka listasta INDEKSILLÄ
  73.     # esim. basket[choice] , tarkista pitääkö indeksiä muuttaa yhdellä suuntaan tai toiseen
  74.     # ks. tehtävänanto
  75.    
  76.     # ajetaan for-silmukka, jossa tulostetaan lista niin, että jätetään käyttäjän
  77.     # indeksillä syöttämä ruoka tulostamatta
  78.    
  79. # else => käyttäjä syötti tekstin:
  80.     # ajetaan for-silmukka, jossa tulostetaan lista niin, että jätetään käyttäjän
  81.     # sana tulostamatta
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement