-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrecommendation_system.py
32 lines (26 loc) · 2.53 KB
/
recommendation_system.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# В свободное от работы время Вася очень любит смотреть сериалы.
# Васе не нравится фэнтази и он принципиально не смотрит фильмы с рейтингом ниже 0.85.
# Напишите рекомендательную систему, которая:
# - Берет данные о сериалах из словарей shows и ratings;
# - Выбирает случайный сериал и проверяет подходит ли он Васе;
# - Предлагает Васе посмотреть подходящий сериал и, если Вася не согласен, то выбирает следующий.
# Используйте while, continue, break.
import random
shows = {'Секретные материалы': 'фантастика', 'Ведьмак': 'фэнтази', 'Клан Сопрано': 'криминал', '24': 'драма', 'Черное зеркало': 'фантастика', 'Во все тяжкие': 'криминал', 'Игра престолов': 'фэнтази', 'Карточный домик': 'драма', 'Рик и Морти': 'фантастика'}
ratings = {'Секретные материалы': 0.9, 'Ведьмак': 0.95, 'Клан Сопрано': 0.8, '24': 0.75, 'Черное зеркало': 0.98, 'Во все тяжкие': 0.85, 'Игра престолов': 0.87, 'Карточный домик': 0.82, 'Рик и Морти': 1}
# Предлагает Васе посмотреть подходящий сериал и, если Вася не согласен, то выбирает следующий.
movies = []
# Создаем список с фильмами без жанра "фэнтази" и с рейтингом выше 0.85
for key, value in shows.items():
if value != 'фэнтази':
if ratings[key] > 0.85:
movies.append(key)
# Создаем бесконечный цикл, выбирая случайный сериал из подходящего списка и предлагаем его
while True:
guess = input('Предлагаю посмотреть сериал: ' + random.choice(movies) + ' , нравится ли вам данный выбор? Введите Да или Нет: ')
# Если сериал подходит, завершаем программу
if guess == 'Да' or guess == 'да':
break
# Если не подходит, продолжаем предлагать
else:
continue