Kirjasto-tietorakenne tarjoaa ohjelmoijalle tehokkaan työvälineen. Siinä on listan kaltainen rakenne. Eroavaisuus on siinä, että kirjaston alkio saa nimen ja arvon.
Kirjasto tehdään aaltosulkeiden sisään ja alkion nimi erotetaan alkion arvosta kaksoispisteellä (:)
numerot = { "Pentti" : "8789755", "Maija" : "3542465", "Untamo" : "3452657" }
Tässä kirjastoon on tallennettu nimiä ja nimeen liitämme numeron.
Kirjaston yksittäiseen alkioon viitataan alkion nimen avulla:
ekaAlkio = numerot["Pentti"] #antaa tulokseksi "8789755"
numerot = { "Pentti" : "8789755", "Maija" : "3542465", "Untamo" : "3452657" } def annaNumero(nimi): num = numerot[nimi] #haetaan numero kirjastosta print(num) hae = input("Anna nimi") annaNumero(hae)
Edelliseen esimerkkiin voitaisiin esimerkiksi lisätä testi, onko nimi kirjastossa:
numerot = { "Pentti" : "8789755", "Maija" : "3542465", "Untamo" : "3452657" } def annaNumero(nimi): if nimi in numerot: #testataan onko nimi kirjastossa num = numerot[nimi] #haetaan numero kirjastosta print(num) hae = input("Anna nimi") annaNumero(hae)
del kirjasto["Pentti"];
kirjasto["Pentti"] = "123456";
numerot = { "Pentti" : "8789755", "Maija" : "3542465", "Untamo" : "3452657" } def annaNumero(): nimi = input("Anna haettavan nimi") if nimi in numerot: #testataan onko nimi kirjastossa num = numerot[nimi] #haetaan numero kirjastosta print(num) def annaKaikki(): for alkio in numerot: print(alkio + ":" + numerot[alkio]) def poistaNimi(): nimi = input("Anna poistettavan nimi") if nimi in numerot: #testataan onko nimi kirjastossa del numerot[nimi] #haetaan numero kirjastosta def muutaNumero(): nimi = input("Anna muutettava nimi") if nimi in numerot: uusinumero = input("Anna uusi numero") numerot[nimi] = uusinumero stoppi = False while (stoppi == False): kasky = input("Anna käsky") if (kasky == "lopeta" or kasky == ""): stoppi = True elif (kasky == "hae"): annaNumero() elif (kasky == "kaikki"): annaKaikki() elif (kasky == "poista"): poistaNimi() elif (kasky == "muuta"): muutaNumero()
Tee käännösohjelma suomi-englanti, jolla voi kysyä käännöstä suomesta englantiin.
Laita ohjelmaan valmiiksi ainakin parikymmentä sanaa. Ohjelmaan pitää voida laittaa myös uusia sanoja ja sen pitää tarkistaa onko uusia sana jo olemassa.
Suorita tehtävät Editorilla ja tallenna työsi Tiedostona.