Предмет: Информатика, автор: andrejgarmas86

Помогите пожалуйста ДАЮ 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. Цей метод приймає як параметр фільми та рік, а повернути має всі фільми, які вийшли на екрани в певний рік.


Наприкінці виведіть на екран: "Найкращий фільм - це " і параметри вашого фільму.

Ответы

Автор ответа: slonce70
1

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}')


slonce70: ФІльми сам напишеш
Похожие вопросы
Предмет: Литература, автор: anhelina268