Siirry sisältöön
Suomi24
ValikkoSulje

Suomi24-palvelut

  • 24KeskusteluAiheet ja ketjutOlet täällä
  • 24TreffitSeuranhaku
  • 24ViihdeTV ja elokuvat
  • 24ChatJuttele reaaliajassa

Keskustelun aiheet

Kaikki aihealueetAloita keskustelu

Suosituimmat

  • Paikkakunnat
  • Suhteet
  • Yhteiskunta
  • Terveys
  • Viihde ja kulttuuri

Kaikki aiheet A–Ö

  • Ajanviete
  • Ajoneuvot ja liikenne
  • Harrastukset
  • Koti ja rakentaminen
  • Lemmikit
  • Matkailu
  • Muoti ja kauneus
  • Nuoret
  • Paikkakunnat
  • Perhe
  • Ruoka ja juoma
  • Ryhmät
  • SeksiK18
  • Suhteet
  • Suomi24 Blogi ★
  • SuomiAreena
  • Talous
  • Terveys
  • Tiede ja teknologia
  • Työ ja opiskelu
  • Urheilu ja kuntoilu
  • Viihde ja kulttuuri
  • Yhteiskunta

Muuta Suomi24:ssä

  • Lainaa
  • Reseptit
  • Horoskooppi
  • Hyötylinkit

Ohjeet ja palaute

  • Säännöt
  • Opastus
  • Palaute
  • Keskustelu Suomi24:stä
KirjauduRekisteröidy

Ilmoitukset

Ladataan…

    Näytä kaikki
    Muokkaa profiiliaJulkinen profiiliAsetukset
    Kirjaudu ulos
    • Keskustelu
    • Viihde
    • Lainaa
    • Treffit
    • Säännöt
    • Chat
    • Keskustelun etusivu
    • Aiheet listaus
    • Paikkakunnat
      • Suhteet
        • Terveys
          • Viihde ja kulttuuri
            • Yhteiskunta
              Näytä lisää
              • Ajanviete
                • Ajoneuvot ja liikenne
                  • Harrastukset
                    • Koti ja rakentaminen
                      • Lemmikit
                        • Matkailu
                          • Muoti ja kauneus
                            • Nuoret
                              • Perhe
                                • Ruoka ja juoma
                                  • Ryhmät
                                    • Seksi
                                      • Suomi24 Blogi ★
                                      • SuomiAreena
                                      • Talous
                                        • Tiede ja teknologia
                                          • Työ ja opiskelu
                                            • Urheilu ja kuntoilu
                                                1. Keskustelu24
                                                2. Katjaana
                                                1. Keskustelu24
                                                2. Katjaana

                                                Katjaana

                                                Katjaana profiilikuva
                                                Joulu 2024
                                                Liittynyt 5v sitten
                                                Muokkaa profiilia
                                                3 aloitusta · 65 kommenttia
                                                Uusimmat aloituksetAloituksetSuosituimmat aloituksetSuosituimmatUusimmat kommentitKommentit
                                                • Voi hyvänen aika, että tämä on VAI-KE-AA!!! Laitoin tuonne alemmaksi uuden koodini. Mutta kun sain alun toimimaan, niin nyt se herjaa
                                                  #Etsitään onko List:ssä kirjaa -kohdan riviä 41: for x in List

                                                  Mikä tuossa x:ssä nyt on vikana, kun aiemmin siinä ei ollut??? Ja 99-rivillä on myös jotain sanomista...



                                                  #_Tämä on tehtäväharjoitukseni, joka tallentaa, jos osaan sen tehdä.

                                                  tiedosto = open("kirjasto.txt", "a") #_Avataan tiedosto, johon tallennetaan.

                                                  #_Poistin alla olevat, sillä olivat kovakoodattuja.
                                                  #_List = [{"kirja":"Peppi Pitkätossu", "kirjailija":"Astrid Lindgren", "jv":"1945"},
                                                  #_{"kirja":"Vaahteramäen Eemeli", "kirjailija":"Astrid Lindgren", "jv":"1963"},
                                                  #_{"kirja":"Pikku naisia", "kirjailija":"Louisa M. Alcott", "jv":"1868"},
                                                  #_{"kirja":"Annan nuoruusvuodet", "kirjailija":"L. M. Montgomery", "jv":"1908"}]

                                                  #_Alla oleva tallennusrutiini tallentaa yhden kirjan yhdelle riville.
                                                  List = [{"kirja1", "kirjailija1", "jv1"
                                                  "kirja2", "kirjailija2", "jv2"
                                                  "kirja3", "kirjailija3", "jv3"}]

                                                  #_Kirjat luetaan tiedostoon talteen alla olevalla tavalla.
                                                  def lataaTiedot(tiedosto):
                                                  lista = []
                                                  with open(tiedosto, 'r') as tiedostoObjekti:
                                                  for rivi in tiedostoObjekti:
                                                  kirja = rivi.replace("\n","").split(',')
                                                  if len(kirja) == 3:
                                                  lista.append({"kirja": kirja[0], "kirjailija": kirja[1], "jv": kirja[2]})
                                                  return lista

                                                  #_Kirjat tulostetaan alla olevalla tavalla.
                                                  print(lataaTiedot("kirjasto.txt"))
                                                  [{'kirja': 'kirja1', 'kirjailija': 'kirjailija1', 'jv': 'jv1'}, {'kirja': 'kirja2', 'kirjailija':
                                                  'kirjailija2', 'jv': 'jv2'}, {'kirja': 'kirja3', 'kirjailija': 'kirjailija3', 'jv': 'jv3'}]

                                                  tiedosto.close() #_Suljetaan tiedosto, johon on tallennettu.

                                                  #-----ALKAA Funktioiden esittely----------------------------------------

                                                  #Näitä kahta funktiota tarvitaan, kun etsitään, onko kirjastossa haluttua kirjaa ja
                                                  #kun poistetaan kirjaa.

                                                  #Etsitään onko List:ssä kirjaa.
                                                  def onkoKirjaa(kirja):
                                                  for x in List:
                                                  if x["kirja"]==kirja: return True
                                                  return False

                                                  #Palautetaan kirja.
                                                  def getKirja(kirja):
                                                  for x in List:
                                                  if x["kirja"]==kirja: return x
                                                  return None

                                                  #-----LOPPUU Funktioiden esittely---------------------------------------

                                                  print("Tervetuloa Kirjakauppaan!", "\n", "\n" #Näin saat tekstiin rivinvaihdon lisäksi välirivin.
                                                  "Uuden kirjan lisäys Kirjakauppaan:", "\n"
                                                  "Jos et nyt halua lisätä kirjaa, niin lisää numero nolla seuraaviin kohtiin, muutoin anna pyydetyt tiedot:")
                                                  kirja = input("Kirjan nimi: ")
                                                  kirjailija = input("Kirjailijan nimi: ")
                                                  jv = input("Julkaisuvuosi: ")

                                                  #-----ALKAA Lisätään appendilla uusi kirja------------------------------

                                                  #Lisätään uusi tuote List:aan
                                                  uusiKirja = {"kirja":kirja, "kirjailija":kirjailija, "jv":jv}

                                                  if kirja != "0" and kirjailija != "0" and jv != "0": #Blokkaa pois sen, että nollat tallentuisivat uutena kirjana jne.
                                                  List.append(uusiKirja)

                                                  #-----LOPPUU Lisätään appendilla uusi kirja-----------------------------

                                                  tiedosto = open("kirjasto.txt", "w") #Tiedostokahvalle nimeksi tiedosto ja uuden
                                                  #tiedoston avaaminen kirjoittamista varten.

                                                  #Pyyntö kirjoittaa yllä pyydetyt tiedot tiedostoon riveittäin.
                                                  tiedosto.write(kirja "\n")
                                                  tiedosto.write(kirjailija "\n")
                                                  tiedosto.write(jv "\n")

                                                  tiedosto.close() #Tiedoston sulkeminen.

                                                  tiedosto = open("kirjasto.txt", "r") #Tiedoston avaaminen lukemista varten.

                                                  while True:

                                                  print("Anna valitsemasi kirjan nimi, niin tulostan sen, jos se löytyy kirjastosta.")
                                                  print("Komennolla Kaikki tulostetaan kaikki kirjaston kirjat.")
                                                  print("Komennolla Poista poistetaan valitsemasi kirjaston kirja.")
                                                  print("Komennolla Poistu, tämä kirjasto-ohjelma sulkeutuu.")

                                                  valinta = input().capitalize() #Asiakas voi syöttää vastauksensa, joka alkaa pienellä kirjaimella esim. poistu -> Poistu

                                                  if valinta == "Poistu": #Ohjelmasta poistuminen.
                                                  break

                                                  elif valinta == "Kaikki": #Kaikkien kirjaston kirjojen tulostaminen.
                                                  for x in List:
                                                  print(x["kirja"])
                                                  print(x["kirjailija"])
                                                  print(x["jv"], "\n") #\n erottelee tulokset toisistaan = tyhjä rivi

                                                  elif onkoKirjaa(valinta): #Tulostaa pyydetyn kirjan, jos se on kirjastossa.
                                                  print(getKirja(valinta))

                                                  #elif valinta == "Poista":
                                                  elif onkoKirjaa(valinta): #Etsitään, onko List:ssä kirjaa.
                                                  print(getKirja(valinta)) #Palautetaan kirja.
                                                  elif valinta == "Poista": #Poistaa pyydetyn kirjan kirjastosta.
                                                  poistettava = input ("Minkä kirjan haluat poistaa? ")
                                                  for i in range(len(List)):
                                                  if List[i]['kirja'] == poistettava:
                                                  del List[i]
                                                  break

                                                  print("Jäljelle jääneet kirjat:\n" ", ".join(x["kirja"] for x in List))

                                                  else:

                                                  print("Syötteesi oli virheellinen, tai tätä kirjaa ei ole tässä kirjastossa.")

                                                  tiedosto.close() #Suljetaan tiedosto.
                                                  24.12.2020 19:01
                                                • Kiitos jälleen. Koitan tätä ohjetta tänään-huomenna! Josko se tästä muotoutuisi. Olisi kiva saada tehtyä (vaikkakin aloittelijan tyyliin) jotain 'pysyvää'!24.12.2020 07:59
                                                • Kiitos! Teenkö ensin resurssienhallintaan tiedosto.txt:n, johon syötän 'alku'kirjaston? Ja sinne ne uudetkin sitten päätyvät?22.12.2020 15:30
                                                • Mutta miten se latausrutiini tehdään...?22.12.2020 14:24
                                                • List = [{"kirja":"Peppi Pitkätossu", "kirjailija":"Astrid Lindgren", "jv":"1945"},
                                                  {"kirja":"Vaahteramäen Eemeli", "kirjailija":"Astrid Lindgren", "jv":"1963"},
                                                  {"kirja":"Pikku naisia", "kirjailija":"Louisa M. Alcott", "jv":"1868"},
                                                  {"kirja":"Annan nuoruusvuodet", "kirjailija":"L. M. Montgomery", "jv":"1908"}]

                                                  #-----ALKAA Funktioiden esittely----------------------------------------

                                                  #Näitä kahta funktiota tarvitaan, kun etsitään, onko kirjastossa haluttua kirjaa ja
                                                  #kun poistetaan kirjaa.

                                                  #Etsitään onko List:ssä kirjaa.
                                                  def onkoKirjaa(kirja):
                                                  for x in List:
                                                  if x["kirja"]==kirja: return True
                                                  return False

                                                  #Palautetaan kirja.
                                                  def getKirja(kirja):
                                                  for x in List:
                                                  if x["kirja"]==kirja: return x
                                                  return None

                                                  #-----LOPPUU Funktioiden esittely---------------------------------------

                                                  print("Tervetuloa Kirjakauppaan!", "\n", "\n" #Näin saat tekstiin rivinvaihdon lisäksi välirivin.
                                                  "Uuden kirjan lisäys Kirjakauppaan:", "\n"
                                                  "Jos et nyt halua lisätä kirjaa, niin lisää numero nolla seuraaviin kohtiin, muutoin anna pyydetyt tiedot:")
                                                  kirja = input("Kirjan nimi: ")
                                                  kirjailija = input("Kirjailijan nimi: ")
                                                  jv = input("Julkaisuvuosi: ")

                                                  #-----ALKAA Lisätään appendilla uusi kirja------------------------------

                                                  #Lisätään uusi tuote List:aan
                                                  uusiKirja = {"kirja":kirja, "kirjailija":kirjailija, "jv":jv}

                                                  if kirja != "0" and kirjailija != "0" and jv != "0": #Blokkaa pois sen, että nollat tallentuisivat uutena kirjana jne.
                                                  List.append(uusiKirja)

                                                  #-----LOPPUU Lisätään appendilla uusi kirja-----------------------------

                                                  tiedosto = open("kirjasto.txt", "w") #Tiedostokahvalle nimeksi tiedosto ja uuden
                                                  #tiedoston avaaminen kirjoittamista varten.

                                                  #Pyyntö kirjoittaa yllä pyydetyt tiedot tiedostoon riveittäin.
                                                  tiedosto.write(kirja "\n")
                                                  tiedosto.write(kirjailija "\n")
                                                  tiedosto.write(jv "\n")

                                                  tiedosto.close() #Tiedoston sulkeminen.

                                                  tiedosto = open("kirjasto.txt", "r") #Tiedoston avaaminen lukemista varten.

                                                  while True:

                                                  print("Anna valitsemasi kirjan nimi, niin tulostan sen, jos se löytyy kirjastosta.")
                                                  print("Komennolla Kaikki tulostetaan kaikki kirjaston kirjat.")
                                                  print("Komennolla Poista poistetaan valitsemasi kirjaston kirja.")
                                                  print("Komennolla Poistu, tämä kirjasto-ohjelma sulkeutuu.")

                                                  valinta = input().capitalize() #Asiakas voi syöttää vastauksensa, joka alkaa pienellä kirjaimella esim. poistu -> Poistu

                                                  if valinta == "Poistu": #Ohjelmasta poistuminen.
                                                  break

                                                  elif valinta == "Kaikki": #Kaikkien kirjaston kirjojen tulostaminen.
                                                  for x in List:
                                                  print(x["kirja"])
                                                  print(x["kirjailija"])
                                                  print(x["jv"], "\n") #\n erottelee tulokset toisistaan = tyhjä rivi

                                                  elif onkoKirjaa(valinta): #Tulostaa pyydetyn kirjan, jos se on kirjastossa.
                                                  print(getKirja(valinta))

                                                  #elif valinta == "Poista":
                                                  elif onkoKirjaa(valinta): #Etsitään, onko List:ssä kirjaa.
                                                  print(getKirja(valinta)) #Palautetaan kirja.
                                                  elif valinta == "Poista": #Poistaa pyydetyn kirjan kirjastosta.
                                                  poistettava = input ("Minkä kirjan haluat poistaa? ")
                                                  for i in range(len(List)):
                                                  if List[i]['kirja'] == poistettava:
                                                  del List[i]
                                                  break

                                                  print("Jäljelle jääneet kirjat:\n" ", ".join(x["kirja"] for x in List))

                                                  else:

                                                  print("Syötteesi oli virheellinen, tai tätä kirjaa ei ole tässä kirjastossa.")

                                                  tiedosto.close() #Suljetaan tiedosto.
                                                  22.12.2020 13:48
                                                Edellinen
                                                Sivu 4 / 4

                                                Siirry sivulle

                                                • 1
                                                • 2
                                                • 3
                                                • 4
                                                Lista loppui

                                                Osallistu keskusteluun

                                                • Pitäisikö Vantaa liittää Helsinkiin.90

                                                  Mitä mieltä olette asiasta?

                                                • Pilattiin sitten Omakanta27

                                                  Omakanta uusittiin. Meni päin persiitä. Ennen sain siellä uusia reseptit, katsoa labratulokset ja lukea infoa joka käynnistä. Nyt ne sivut niin kummalliset, että uusimmat tiedot ja reseptit jossain huitsin hiidessä. hel…

                                                • TTK-juontaja Veronica Verho lataa suorat sanat tatuointien arvostelijoille: "Mä toivoisin, että..."17

                                                  Veronica Verho juontaa Tanssii Tähtien Kanssa -ohjelmaa yhdessä Ernest Lawsonin kanssa. ​Yksi puhuttaneimmista aiheista on ollut, miten suosikkijuontajan näyttävät tatuoinnit sopivat ohjelman pukuohjeistukseen ja tullaa…

                                                • Sinimustan liikkeen rasistisia tarroja on liimattu kouluihin Helsingissä109

                                                  Apulaispormestari Shawn Huff (vihr) sanoo, ettei syntyperäisenä helsinkiläisenä ole ennen nähnyt näin avointa vihaa myös lapsia ja nuoria kohtaan https://www.hs.fi/helsinki/art-2000012316928.html

                                                • Jorma Uotinen läväytti härskin heiton - Paljastus uudesta TTK-romanssista?12

                                                  Tuomari Jorma Uotisen linja on välillä hyvinkin rohkea TTK:ssa. Hän näpäytti Jaakko Parkkalille ja Kastanja Rauhalalle varsin härskin kommentin suorassa lähetyksessä. Vai oliko tämä paljastus uudesta TTK-romanssista? Lu…

                                                Suomi24 Viihde

                                                • Some repesi – Kiti Kokkonen jakoi humoristisen perälisto-kuvan itsestään: "On PERSpektiiviä..."Suosikkiuusinta: Voisi sanoa leikkisästi, että hersyvänä komediennena tunnettu Kiti Kokkonen on jakanut "uuden puolen" itsestään.
                                                • Eronnut maajussi-Asko umpirehellisenä farmiviikosta: "Totta kai nyt vähän..."Maajussille morsian sarjassa yksi maajusseista on nauravainen Asko.
                                                • Vinski ja näkymättömyyspulveri -elokuva tv:ssä – Kuura Rossi ja Martti Suosalo loistavatVinski ja näkymättömyyspulveri perustuu Aapelin suosittuun Koko kaupungin Vinski -kirjaan.

                                                Stara

                                                • Neljä heijastinta testattiin – kaikissa ilmeni puutteitaHeijastimen käyttö on tärkeää syksyisin ja talvisin pimeän aikaan ulkona
                                                • Työmatka voi olla lokakuussa haastava – pienet valmistelut auttavatSyksy tuo mukanaan uusia haasteita liikenteessä. Pienet valmistelut ennen työmatkalle
                                                • Mallorcalla maanjäristys – jo toinen muutaman päivän sisälläEspanjalle kuuluvalla Baleaarien saariryhmällä on havaittu muutaman päivän sisään jo

                                                Etkö löytänyt etsimääsi?

                                                Aloita keskustelu
                                                Suomi24

                                                Suomen suurin keskustelupalvelu

                                                Palvelut

                                                • 24Keskustelu
                                                • 24Treffit
                                                • 24Viihde
                                                • 24Chat
                                                • Hyötylinkit
                                                • Reseptit
                                                • Horoskooppi
                                                • Lainaa

                                                Ohjeet ja palaute

                                                • Palautelomake
                                                • Opastus
                                                • Säännöt
                                                • Keskustelu Suomi24:stä

                                                Kaupallinen yhteistyö

                                                • Auto1 Vaihtoautot
                                                • TV-ohjelmat
                                                • Sanakirja
                                                • Tietosuojaseloste
                                                • Käyttöehdot
                                                • Evästeasetukset

                                                © 2026 Suomi24, osa City Digitalia