OneCompiler

urkurk c13

121
 class MovieRatings:
#Constructor: no parameters.    
    def __init__(self):
        self.movie_ratings = {}
#adds a movie. Returns True if the movie was successfully added, False if the movie already exists.        
    def add_movie(self, movie_name):
        if movie_name in self.movie_ratings:
            return False
        else:
            self.movie_ratings[movie_name] = []
            return True
#adds a rating (1 to 5) for a movie. Returns True if successful, False if the movie doesn't exist or the rating is invalid.        
    def rate_movie(self, movie_name, rating):
        if movie_name not in self.movie_ratings:
            return False
        elif rating < 1 or rating > 5:
            return False
        else:
            self.movie_ratings[movie_name].append(rating)
            return True
#returns the average rating for a movie. Returns "N/A" if the movie has no ratings.        
    def get_average_rating(self, movie_name):
        if movie_name not in self.movie_ratings or not self.movie_ratings[movie_name]:
            return 'N/A'
        else:
            average_rating = sum(self.movie_ratings[movie_name]) / len(self.movie_ratings[movie_name])
            return average_rating
#returns a list of all movie names.        
    def get_all_movies(self):
        return list(self.movie_ratings.keys())