info = csv.reader(fail, delimiter="\t") for rida in info: tabel.append(rida) albumid = [] lauljad = [] laulud = [] lauljad_kontroll = [] albumid_kontroll = [] for rida in tabel: laul = Laul(rida[3], rida[0]) laulud.append(laul) if rida[0] not in lauljad_kontroll: laulja = Laulja(rida[0]) lauljad.append(laulja) lauljad_kontroll.append(laulja.nimi) if rida[1] not in albumid_kontroll: album = Album(rida[1], rida[2], rida[0]) laulja.lisa_album(album) albumid.append(album) albumid_kontroll.append(rida[1]) album.lisa_laul(laul) valik = input("1 - Näita tervet muusikakogu ekraanile\n2 - Otsing albumi pealkirja või aasta järgi\n3 - Otsing laulu nime järgi\n4 - Otsing laulja järgi\nValik (1, 2, 3, 4): ") if valik == "1": print("Albumid: ")
laulud.append( Laul(splitted[3], splitted[0], int(splitted[2]), splitted[1])) #Nimi, laulja, aasta, album file.close() for i in laulud: if i.album not in albumidOlemas: #Kui albumit pole juba lisatud albumite listi albumid.append(Album(i.album, int(i.aasta), i.laulja)) albumidOlemas.append(i.album) for j in albumid: #Leia album kuhu laul kuulub if i.album == j.nimi: j.lisaLaul(i) for i in albumid: if i.laulja not in lauljadOlemas: #Kui lauljat pole juba lisatud lauljate listi lauljad.append(Laulja(i.laulja)) lauljadOlemas.append(i.laulja) for j in lauljad: #Leia laulja kuhu album kuulub if i.laulja == j.nimi: j.lisaAlbum( i) #Funktsioon lisab ka kõik albumi lood laulja lugude alla doing = int(input("Valige mida soovite teha, 1-4: ")) """ 1 - väljastada kõik sisu failist, et iga album oleks teistes näiteks kriipsude jadaga eraldatud (-------) 2 - otsida failist albumid pealkirja järgi või aasta numbri järgi - tulemusena väljastatakse nimekiri leitud albumitest 3 - otsida failist laulud nime järgi - tulemusena väljastatakse, mis albumis antud laul on ja kes on laulja ning mis aasta album see on 4 - otsida failist lauljad - tulemusena väljastatakse antud laulja albumite pealkirjad ja aastad """ tulemused = [] #miks ei või pythonis olla switch funktsioon? if doing == 1:
#TAGAPOOLSE OSA ALGUS lauljate_nim = [] Albumeid = [] kontroll = [] kontroll2 = [] Lauljad = [] fail = open("albumid", encoding="UTF-8") for i in fail: #VÕTAB FAILIST ASJAD VÄLJA JA PANEB INFOSSE info = i.strip().split("\t") if info[1] not in kontroll: #JAGAB ASJAD INFOST UUDE LOETELLU temp = Album(info[1], info[2], info[0]) Albumeid.append(temp) kontroll.append(info[1]) if info[0] not in kontroll2: # laulja = Laulja(info[0]) Lauljad.append(laulja) kontroll2.append(info[0]) lauljate_nim.append(Laul(info[3], info[0], info[1])) #pealkiri,laulja, album LOETELU for i in Albumeid: #VAATAB, KUI KAKS ALMBUIT ON SAMAD LÜKKAVAD NAD LISA ASJU LOETELLUTE SISSE for j in Lauljad: if i.laulja == j.nimi: j.laulud.append(i) j.albumid.append(i)
for row in file_reader: tabel.append(row) albumid = [] lauljad = [] laulud = [] first_albumid = [] first_lauljad = [] for row in tabel: laul = Laul(row[3], row[0]) laulud.append(laul) if row[0] not in first_lauljad: laulja = Laulja(row[0]) lauljad.append(laulja) first_lauljad.append(laulja.nimi) if row[1] not in first_albumid: album = Album(row[1], row[2], row[0]) laulja.lisa_album(album) albumid.append(album) first_albumid.append(row[1]) album.lisa_laul(laul) kas_jatkata = True while kas_jatkata: print("Tee valik:") print("1: väljasta albumid ja laulud")
reader = csv.reader(f, delimiter="\t") for line in reader: tabel.append(line) print(tabel) laulud = [] lauljad = [] albumid = [] artist = [] album = [] l1 = [] # võtab välja tabelist laulud, lauljad ja albumid for line in tabel: laulja = Laulja(line[0]) if line[0] not in artist: lauljad.append(laulja) artist.append(line[0]) laulja.albumid.append(line[1]) for line in tabel: albumi = Album(line[1], line[0], line[2]) if line[1] not in album: albumid.append(albumi) album.append(line[1]) for line in tabel: laul = Laul(line[3], line[1], line[0], line[2]) if line[3] not in l1: laulud.append(laul) l1.append(line[3]) # mida otsid uuritakse
#print(laul_1.laulja, laul_1.pealkiri) laul_2 = Laul("12", "Nublu") #print(laul_2.laulja, laul_2.pealkiri) laul_3 = Laul("Crousandid", "Nublu") #print(laul_1.laulja, laul_1.pealkiri) laul_4 = Laul("Öölaps", "Nublu") #print(laul_2.laulja, laul_2.pealkiri) # testime albumi loomist album_1 = Album("Uus album 1", 2019, "Numblu") # lisame laulud albumisse album_1.lisa_laul(laul_1) album_1.lisa_laul(laul_2) # testime albumi loomist album_2 = Album("Uus album 2", 2019, "Numblu") # lisame laulud albumisse album_2.lisa_laul(laul_3) album_2.lisa_laul(laul_4) # vaatame loodud albumi sisu #print(album_2.pealkiri) #for laul in album_2.laulud: # print(laul.laulja, laul.pealkiri) # testime Laulja loomist laulja = Laulja("Nublu") laulja.lisa_album(album_1) laulja.lisa_album(album_2) # testime albumite sisu for album in laulja.albumid: print(album.pealkiri) for laul in album.laulud: print(laul.laulja, laul.pealkiri)
albumid_olemas = [] lauljad_olemas = [] #tekitan 2 listi kuhu panna muutujaid ja 2 listi, millega jälgida olemasolevaid muutujaid. fail = open("albumid.txt", encoding="UTF-8") for rida in fail: tabel.append(rida.strip().split( "\t")) #lisan albumid.txt sisu tabelisse lihtsamaks kasutamiseks fail.close() for i in tabel: if i[1] not in albumid_olemas: #kontrollin kas see album on juba objektina tekitatud temp = Album(i[1], i[2], i[0]) #teen albumist objekti albumid.append(temp) albumid_olemas.append( i[1]) #lisan objekti päris ja kontrollimise listi if i[0] not in lauljad_olemas: #sama asi mis albumitega nüüd lauljatega. temp = Laulja(i[0]) lauljad.append(temp) lauljad_olemas.append(i[0]) teemp = Laul(i[3], i[0], i[1]) #siin muudan laulu objektiks for i in albumid: if i.pealkiri == teemp.album: #kontrollin kas laulu album ja albumi pealkiri on samad i.lisa_laul(teemp) #kui on siis lisan laulu albumisse for i in albumid: for j in lauljad: if i.laulja == j.nimi: #kontrollin kõikide albumitega läbi kõik lauljad ja lisan sobivuse korral albumi listi j.lisa_album(i) print( " 1 - Väljasta failist kõik asjad \n 2 - Otsida faile albumi pealkirja või aasta järgi " "\n 3 - Otsida laule nime järgi \n 4 - Otsida failist albumid laulja järgi" ) choice = input("Vali 1-4: ") #lasen kasutajal valida mida ta teha tahab