Помогите пожалуйста ДАЮ 100 БАЛОВ!!!
Створіть клас, який буде описувати ваш фільм, давайте назвемо його Movie. У нього мають бути такі атрибути, які описують фільм: name, duration, release_date і rating. Створіть об'єкт цього класу.
Для класу Movie визначте метод з ім'ям show_info(), який виводить на екран параметри вашого фільму, значення атрибутів об'єкта (name, duration і rating). Створіть об'єкт my_movie і використовуйте метод show_info(), щоб вивести на екран його атрибути.
Створіть 5 об'єктів класу Movie, це мають бути ваші найулюбленіші фільми. Інформацію про них можна взяти на сайтах imdb або в якомусь іншому місці. Створіть список movie_list і додайте туди об'єкти класу Movie, які ви створили раніше.
ВСЕ ДО ЭТОГО Я СДЕЛАЛ НУЖНО ДАЛЬШЕ
Створіть клас Сritic, це і будете ви. Дамо цьому класу найбазовіші атрибути - name і age.
Додайте метод класу (@classmethod) get_best_movie() у клас Сritic. Як параметр цей метод має приймати список, який зберігає об'єкти класу Movie. Цей метод має визначати фільм із найвищим рейтингом зі списку і повертати об'єкт фільму.
Додайте статичний метод (@staticmethod) get_movies_for_year(year) у клас Сritic. Цей метод приймає як параметр фільми та рік, а повернути має всі фільми, які вийшли на екрани в певний рік.
Наприкінці виведіть на екран: "Найкращий фільм - це " і параметри вашого фільму.
Answers & Comments
from datetime import datetime
class Movie:
def __init__(self, name, duration, release_date, rating):
self.name = name
self.duration = duration
self.release_date = datetime.strptime(release_date, '%d-%m-%Y')
self.rating = rating
def show_info(self):
print(f'Назва: {self.name}\nТривалість: {self.duration} хвилин\nРейтинг: {self.rating}')
movie1 = Movie('Film 1', 142, '14-10-2020', 9.3)
movie2 = Movie('Film 2', 175, '24-03-2019', 9.2)
movie3 = Movie('Film 3', 202, '20-12-2012', 9.0)
movie4 = Movie('Film 4', 152, '18-07-2008', 9.0)
movie5 = Movie('Film 5', 96, '10-04-2022', 8.9)
movie_list = [movie1, movie2, movie3, movie4, movie5]
class Critic:
def __init__(self, name, age):
self.name = name
self.age = age
@classmethod
def get_best_movie(cls, movie_list):
best_movie = max(movie_list, key=lambda movie: movie.rating)
return best_movie
@staticmethod
def get_movies_for_year(movie_list, year):
movies_for_year = [movie for movie in movie_list if movie.release_date.year == year]
return movies_for_year
# Створюємо об'єкт класу Critic
my_critic = Critic('John', 25)
# Визначаємо найкращий фільм зі списку
best_movie = my_critic.get_best_movie(movie_list)
# Виводимо на екран інформацію про найкращий фільм
print(f'Найкращий фільм - це {best_movie.name}, його тривалість {best_movie.duration} хвилин, рейтинг {best_movie.rating}')