Răspuns :
class Carte:
def __init__(self, denumire = None, autor = None, numar_de_pagini = None):
self.denumire = denumire
self.autor = autor
self.numar_de_pagini = numar_de_pagini
def __str__(self):
return f"\"{self.denumire.capitalize()}\" de {self.autor.capitalize()}"
carti = list()
# Asigurarea ca numarul de carti este un numar
while True:
try:
numar_de_carti = int( input( "Introduceti numarul de carti: " ) )
break
except ValueError:
print("Numar invalid.")
print()
# Eroare la numar invalid
if numar_de_carti < 1:
raise ValueError("Numar invalid de carti.")
# Citeste cartile, se asigura ca numarul de pagini este valid si memoreaza pozitia cartii cu cele mai multe pagini
numar_maxim_de_pagini = 0
for i in range(numar_de_carti):
denumire = input("Introduceti denumirea cartii: ")
autor = input("Introduceti numele autorului: ")
while True:
try:
numar_de_pagini = int(input("Introduceti numarul de pagini: "))
break
except ValueError:
print("Numar invalid.")
print()
if numar_de_pagini < 1:
raise ValueError("Numar invalid de pagini.")
if numar_de_pagini > numar_maxim_de_pagini:
numar_maxim_de_pagini = numar_de_pagini
pozitie = i
carte = Carte(denumire, autor, numar_de_pagini)
carti.append(carte)
# Scrie cartea cu cel mai mare numar de pagini
print(f"Cartea cu cele mai multe pagini este: {carti[pozitie]} ({carti[pozitie].numar_de_pagini} de pagini)")
# Scrie cartile scrise de Eminescu
for carte in range(numar_de_carti):
if "Eminescu" in carti[carte].autor.capitalize():
print(carti[carte])
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!