Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Verifica 13 Maggio 2019 Spataro Federico
- class Ereader(object):
- #Attributi
- titolo=''
- autore=''
- pagine=''
- #Metodi
- def __init__(self,titolo,autore,pagine):
- self.titolo=titolo
- self.autore=autore
- self.pagine=pagine
- def modifica(self,titolo,autore,pagine):
- if len(titolo)!=0:
- self.titolo=titolo
- if len(autore)!=0:
- self.autore=autore
- if pagine!=0:
- self.pagine=pagine
- def visualizza(self):
- print(self.titolo,"di",self.autore)
- #Main
- ebook=[]
- cont=0
- try:
- file=open("ebook.txt","r")
- leggi=file.readlines()
- i=0
- for i in range(len(leggi)):
- leg=leggi[i].split(",")
- ebook.append(Ereader(leg[0],leg[1],int(leg[2])))
- cont=cont+1
- file.close()
- except:
- pass
- while True:
- a="""\n\nMenu e-reader:
- 1) Inserire un nuovo ebook
- 2) Modificare un ebook
- 3) Autore dato il titolo di un ebook
- 4) Totale complessivo pagine
- 5) Elenco completo ebook (titolo e autori)
- 6) Esci"""
- print(a)
- sc=-1
- while (sc<1) or (sc>6):
- try:
- sc=int(input())
- except:
- sc=-1
- if (sc<1) or (sc>6):
- print("Errore! Devi inserire un numero tra 1 e 6!")
- if sc==1:
- if cont>=50:
- print("Non puoi inserire più di 50 ebook!")
- else:
- tito=input("Inserisci il titolo dell'ebook: ")
- aut=input("Inserisci l'autore dell'ebook: ")
- pag=-1
- while (pag<1) or (pag>9999):
- try:
- pag=int(input("Inserisci il numero di pagine dell'ebook: "))
- except:
- pag=-1
- if (pag<1) or (pag>9999):
- print("Errore!")
- tit=tito.lower()
- ebook.append(Ereader(tit,aut,pag))
- cont=cont+1
- file=open("ebook.txt","a")
- ss=tit+","+aut+","+str(pag)+",\n"
- file.write(ss)
- file.close()
- print("ebook aggiunto correttamente all'ereader!")
- if sc==2:
- c=0
- try:
- test=ebook[0]
- c=1
- except:
- print("Errore! Devi prima inserire almeno un ebook!")
- if c==1:
- tit=input("Inserisci il titolo dell'ebook che vuoi modificare: ")
- i=0
- save=-1
- for i in range(len(ebook)):
- if (tit.lower())==ebook[i].titolo:
- save=i
- break
- if save==-1:
- print("ebook non trovato!")
- else:
- print("")
- ebook[save].visualizza()
- titol=input("\nSe vuoi modificare il titolo dell'ebook scrivilo altrimenti premi INVIO: ")
- autor=input("Se vuoi modificare l'autore dell'ebook scrivilo altrimenti premi INVIO: ")
- pag=-1
- while (pag<0) or (pag>9999):
- try:
- pag=int(input("Se vuoi modificare il nuumero delle pagine dell'ebook scrivilo altrimenti inserisci 0: "))
- except:
- pag=-1
- if (pag<0) or (pag>9999):
- print("Errore!")
- try:
- titoll=titol.lower()
- except:
- titoll=''
- ebook[save].modifica(titoll,autor,pag)
- file=open("ebook.txt","r")
- leggi=file.readlines()
- i=0
- file.close()
- file=open("ebook.txt","w")
- for i in range(len(leggi)):
- if i!=save:
- file.write(leggi[i])
- else:
- if len(titoll)==0:
- file.write(ebook[i].titolo+",")
- else:
- file.write(titoll+",")
- if len(autor)==0:
- file.write(ebook[i].autore+",")
- else:
- file.write(autor+",")
- if pag==0:
- file.write(str(ebook[i].pagine)+",\n")
- else:
- file.write(str(pag)+",\n")
- file.close()
- print("Modifiche effettuate correttamente!")
- if sc==3:
- c=0
- try:
- test=ebook[0]
- c=1
- except:
- print("Errore! Devi prima inserire almeno un ebook!")
- if c==1:
- tit=input("Inserisci il titolo dell'ebook di cui vuoi sapere l'autore: ")
- i=0
- save=-1
- for i in range(len(ebook)):
- if (tit.lower())==ebook[i].titolo:
- save=i
- break
- if save==-1:
- print("ebook non trovato!")
- else:
- print("\nL'autore dell'ebook",ebook[save].titolo,"è:",ebook[save].autore)
- if sc==4:
- c=0
- try:
- test=ebook[0]
- c=1
- except:
- print("Errore! Devi prima inserire almeno un ebook!")
- if c==1:
- i=0
- somma=0
- for i in range(len(ebook)):
- somma=somma+ebook[i].pagine
- print("La somma complessiva di tutte le pagine degli ebook è:",somma)
- if sc==5:
- c=0
- try:
- test=ebook[0]
- c=1
- except:
- print("Errore! Devi prima inserire almeno un ebook!")
- if c==1:
- print("\nElenco completo ebook:\n")
- i=0
- for i in range(len(ebook)):
- print(i+1,") ",end='')
- ebook[i].visualizza()
- if sc==6:
- break
- #Non ho messo il salvataggio su file in chiusura perchè altimenti
- #se il programma viene chiuso tramite la X in alto e non tramite il 6
- #gli ebook non si salvano.
- #Di conseguenza si salva tutto di volta in volta dopo ogni inserimento
- #o modifica di ebook
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement