Skip to content
Snippets Groups Projects
Commit 0f03a89d authored by Erkki Kaila's avatar Erkki Kaila
Browse files

new file

parent 6a16c762
No related branches found
No related tags found
No related merge requests found
# Kirja-tuplen indeksit
NIMI = 0
KIRJAILIJA = 1
VUOSI = 2
SIVUJA = 3
def lisaa_kirja(kirjat: list, nimi: str, kirjailija: str, vuosi: int, sivuja: int):
""" Lisää annetun kirjan kirjalistaan """
kirja = (nimi, kirjailija, vuosi, sivuja)
kirjat.append(kirja)
def etsi_kirja_nimen_perusteella(kirjat, hakusana: str) -> list:
""" Etsii annetun hakusana perusteella kirjalistasta """
lista = []
for kirja in kirjat:
if hakusana in kirja[NIMI]:
lista.append(kirja)
return lista
def kirjailijan_kirjat(kirjat, kirjailija: str) -> list:
""" Palauttaa kaikki annetun kirjailijan kirjoittamat kirjat """
lista = []
for kirja in kirjat:
if kirja[KIRJAILIJA] == kirjailija:
lista.append(kirja)
return lista
def vuoden_kirjat(kirjat, vuosi: int) -> list:
""" Palauttaa kaikki kirjat, jotka on kirjoitettu annettuna vuonna """
lista = []
for kirja in kirjat:
if kirja[VUOSI] == vuosi:
lista.append(kirja)
return lista
def tulosta_kirjat(kirjat: list):
""" Tulostaa listassa olevat kirjat allekkain """
if kirjat:
for kirja in kirjat:
tulosta_kirja(kirja)
else:
print("Ei kirjoja")
def tulosta_kirja(kirja: tuple):
""" Tulostaa yhden kirjan tiedot """
print(f"{kirja[KIRJAILIJA]}: {kirja[NIMI]} ({kirja[KIRJAILIJA]}), {kirja[VUOSI]} s.")
def tulosta_valikko():
""" Tulostaa valikon """
print("1. Lisää kirja")
print("2. Etsi kirja")
print("3. Kirjailijan kirjat")
print("4. Vuoden kirjat")
print("5. Tulosta kaikki kirjat")
print("0. Poistu")
# PÄÄOHJELMA
kirjat = []
while True:
tulosta_valikko()
valinta = input("Valinta: ")
if valinta == "0":
break
if valinta == "1":
nimi = input("Anna kirjan nimi: ")
kirjailija = input("Anna kirjailija: ")
vuosi = int(input("Anna vuosi: "))
sivut = int(input("Anna sivumäärä: "))
lisaa_kirja(kirjat, nimi, kirjailija, vuosi, sivut)
elif valinta == "2":
hakusana = input("Anna hakusana: ")
lista = etsi_kirja_nimen_perusteella(kirjat, hakusana)
tulosta_kirjat(lista)
elif valinta == "3":
kirjailija = input("Anna kirjailja: ")
lista = kirjailijan_kirjat(kirjat, kirjailija)
tulosta_kirjat(lista)
elif valinta == "4":
vuosi = int(input("Anna vuosi: "))
lista = vuoden_kirjat(kirjat, vuosi)
tulosta_kirjat(vuosi)
elif valinta == "5":
tulosta_kirjat(kirjat)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment