Форум сайта python.su
Всем привет.
Прошу подскажите как вычислить средний рейтинг жанра фантастика используя 2 словаря.
shows = {'Секретные материалы': 'фантастика', 'Ведьмак': 'фэнтази', 'Клан Сопрано': 'криминал', '24': 'драма', 'Черное зеркало':
'фантастика', 'Во все тяжкие': 'криминал', 'Игра престолов': 'фэнтази', 'Карточный домик': 'драма', 'Рик и Морти': 'фантастика'}
ratings = {'Секретные материалы': 0.9, 'Ведьмак': 0.95, 'Клан Сопрано': 0.8, '24': 0.75, 'Черное зеркало': 0.98, 'Во все тяжкие': 0.85, 'Игра престолов': 0.87,
'Карточный домик': 0.82, 'Рик и Морти': 1}
Отредактировано i4etverg_ex (Июнь 25, 2021 09:00:58)
Офлайн
from statistics import mean print(mean([ratings[i] for i in ratings if shows[i] == 'фантастика']))
Офлайн
AD0DE412этот вариант не работает( либо я ещё не знаком с from statistics и import mean)
Офлайн
i4etverg_exда неужль .. отож
этот вариант не работает
In [2]: shows = {'Секретные материалы': 'фантастика', 'Ведьмак': 'фэнтази', 'Кл ...: ан Сопрано': 'криминал', '24': 'драма', 'Черное зеркало': ...: 'фантастика', 'Во все тяжкие': 'криминал', 'Игра престолов': ' ...: фэнтази', 'Карточный домик': 'драма', 'Рик и Морти': 'фантастика'} ...: ...: ratings = {'Секретные материалы': 0.9, 'Ведьмак': 0.95, 'Клан Сопрано': ...: 0.8, '24': 0.75, 'Черное зеркало': 0.98, 'Во все тяжкие': 0.85, 'Игра ...: престолов': 0.87, ...: 'Карточный домик': 0.82, 'Рик и Морти': 1} In [3]: from statistics import mean ...: print(mean([ratings[i] for i in ratings if shows[i] == 'фантастика'])) 0.96
Офлайн
AD0DE412Работает, спасибо большое) я имел ввиду, что from statistics import mean не понимаю и не изучал.
from statistics import mean
print(mean([ratings for i in ratings if shows == ‘фантастика’]))
Офлайн
i4etverg_ex
Безусловно, но вам надо предоставить весь математический аппарат.
Давайте начнем с того, что “как вычислить средний рейтинг…”. Забудем про два словаря. Допустим, у нас есть такие данные:
lst = [0.8, 1.1, 0.97, 0.65, 0.7]
Офлайн
FishHookСложить и разделить на количество , получим среднее 0.844.
i4etverg_exБезусловно, но вам надо предоставить весь математический аппарат. Давайте начнем с того, что “как вычислить средний рейтинг…”. Забудем про два словаря. Допустим, у нас есть такие данные:
for i in ratings:
if shows[i] == 'фантастика':
Офлайн
i4etverg_ex
Вы пришли за помощью, и я вам помогу. Но вы должны активно участвовать. Я выше попросил вас написать код. Давайте вы не словами мне расскажете, как будете вычислять среднее значение списка, а дадите решение в виде кода. Так мы с вами шаг за шагом получим нужное решение.
Офлайн
FishHookХорошо, спасибо Вам.
i4etverg_exВы пришли за помощью, и я вам помогу. Но вы должны активно участвовать. Я выше попросил вас написать код. Давайте вы не словами мне расскажете, как будете вычислять среднее значение списка, а дадите решение в виде кода. Так мы с вами шаг за шагом получим нужное решение.
lst = [0.8, 1.1, 0.97, 0.65, 0.7]
a = sum(lst) / len(lst)
print(a)
Офлайн
Отлично! Давайте теперь поместим ваш код в функцию, чтобы отвязать его от конкретных данных и легко переиспользовать. Тут я помогу.
def avgList(l): return sum(l) / len(l) lst = [0.8, 1.1, 0.97, 0.65, 0.7] print(avgList(lst)) lst = [0.18, 0.1, 0.77] print(avgList(lst))
s = {'фантастика': [0.9, 0.6, 0], 'драма': [0, 0.5, 0.6]}
s = {'фантастика': [], 'драма': []}
Отредактировано FishHook (Июнь 25, 2021 14:45:01)
Офлайн