Tell us what’s happening:
I’ve added the
print(movie1.doc)
print(series1.doc)
Still unable to pass the code, please help
Your code so far
class Movie:
"""Parent class representing a movie."""
def __init__(self, title, year, director, duration):
if not title.strip():
raise ValueError('Title cannot be empty')
if year < 1895:
raise ValueError('Year must be 1895 or later')
if not director.strip():
raise ValueError('Director cannot be empty')
if duration <= 0:
raise ValueError('Duration must be positive')
self.title = title
self.year = year
self.director = director
self.duration = duration
def __str__(self):
return f'{self.title} ({self.year}) - {self.duration} min, {self.director}'
class TVSeries(Movie):
def __init__(self, title, year, director, duration, seasons, total_episodes):
super().__init__(title, year, director, duration)
if seasons < 1:
raise ValueError('Seasons must be 1 or greater')
if total_episodes < 1:
raise ValueError('Total episodes must be 1 or greater')
self.seasons = seasons
self.total_episodes = total_episodes
def __str__(self):
return f'{self.title} ({self.year}) - {self.seasons} seasons, {self.total_episodes} episodes, {self.duration} min avg, {self.director}'
class MediaCatalogue:
def __init__(self):
self.items = []
def add(self, media_item):
self.items.append(media_item)
def __str__(self):
if not self.items:
return 'Media Catalogue (empty)'
result = f'Media Catalogue ({len(self.items)} items):\n\n'
for i, movie in enumerate(self.items, 1):
result += f'{i}. {movie}\n'
return result
catalogue = MediaCatalogue()
try:
movie1 = Movie('The Matrix', 1999, 'The Wachowskis', 136)
catalogue.add(movie1)
movie2 = Movie('Inception', 2010, 'Christopher Nolan', 148)
catalogue.add(movie2)
series1 = TVSeries('Scrubs', 2001, 'Bill Lawrence', 24, 9, 182)
catalogue.add(series1)
series2 = TVSeries('Breaking Bad', 2008, 'Vince Gilligan', 47, 5, 62)
catalogue.add(series2)
print(movie1.__doc__)
print(series1.__doc__)
print(catalogue)
except ValueError as e:
print(f'Validation Error: {e}')
# User Editable Region
# User Editable Region
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36
Challenge Information:
Build a Media Catalogue - Step 25