Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 25, 2021 16:57:38

i4etverg_ex
Зарегистрирован: 2021-06-23
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Прошу помочь с решением

FishHook
def avgList(l):
return sum(l) / len(l)
Так?
 shows = {'Секретные материалы': 'фантастика', 'Ведьмак': 'фэнтази', 'Клан Сопрано': 'криминал', '24': 'драма', 'Черное зеркало':
         'фантастика', 'Во все тяжкие': 'криминал', 'Игра престолов': 'фэнтази', 'Карточный домик': 'драма', 'Рик и Морти': 'фантастика'}
ratings = {'Секретные материалы': 0.9, 'Ведьмак': 0.95, 'Клан Сопрано': 0.8, '24': 0.75, 'Черное зеркало': 0.98, 'Во все тяжкие': 0.85, 'Игра престолов': 0.87,
           'Карточный домик': 0.82, 'Рик и Морти': 1}
s = {'фантастика':[],'драма':[],'криминал':[],'фэнтази':[]}

Офлайн

#2 Июнь 25, 2021 17:01:55

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Прошу помочь с решением

Ну да, а где код то?



Офлайн

#3 Июнь 25, 2021 17:08:08

i4etverg_ex
Зарегистрирован: 2021-06-23
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Прошу помочь с решением

FishHook
Ну да, а где код то?
 shows = {'Секретные материалы': 'фантастика', 'Ведьмак': 'фэнтази', 'Клан Сопрано': 'криминал', '24': 'драма', 'Черное зеркало':
         'фантастика', 'Во все тяжкие': 'криминал', 'Игра престолов': 'фэнтази', 'Карточный домик': 'драма', 'Рик и Морти': 'фантастика'}
ratings = {'Секретные материалы': 0.9, 'Ведьмак': 0.95, 'Клан Сопрано': 0.8, '24': 0.75, 'Черное зеркало': 0.98, 'Во все тяжкие': 0.85, 'Игра престолов': 0.87,
           'Карточный домик': 0.82, 'Рик и Морти': 1}
s = {'фантастика':[],'драма':[],'криминал':[],'фэнтази':[]}
def avgList(l):
    return sum(l) / len(l)

Офлайн

#4 Июнь 25, 2021 17:21:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Прошу помочь с решением

i4etverg_ex
Вы же не знаете заранее, какие будут данные. Это программно надо сделать, я же написал - перебрать словарь shows в цикле и по значениям создать новый словарь с ключами “жанр_фильма” и значениями “пустой список”



Отредактировано FishHook (Июнь 25, 2021 17:21:42)

Офлайн

#5 Июнь 25, 2021 17:36:56

i4etverg_ex
Зарегистрирован: 2021-06-23
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Прошу помочь с решением

FishHook
s = {'фантастика':,'драма':,'криминал':,'фэнтази':}
shows = {'Секретные материалы': 'фантастика', 'Ведьмак': 'фэнтази', 'Клан Сопрано': 'криминал', '24': 'драма', 'Черное зеркало':
'фантастика', 'Во все тяжкие': 'криминал', 'Игра престолов': 'фэнтази', 'Карточный домик': 'драма', 'Рик и Морти': 'фантастика'}

ratings = {'Секретные материалы': 0.9, 'Ведьмак': 0.95, 'Клан Сопрано': 0.8, '24': 0.75, 'Черное зеркало': 0.98, 'Во все тяжкие': 0.85, 'Игра престолов': 0.87,
'Карточный домик': 0.82, 'Рик и Морти': 1}

for s in shows:
s = {'фантастика': [], 'драма': [], 'криминал': [], 'фэнтази': []}
print(s)

так?

Офлайн

#6 Июнь 25, 2021 17:58:10

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Прошу помочь с решением

Короче. Я устал. Лыжи по асфальту очень туго едут. Держи решение и не мучай себя

 shows = {u'Секретные материалы': u'фантастика', u'Ведьмак': u'фэнтази', u'Клан Сопрано': u'криминал', u'24': u'драма', u'Черное зеркало':
         u'фантастика', u'Во все тяжкие': u'криминал', u'Игра престолов': u'фэнтази', u'Карточный домик': u'драма', u'Рик и Морти': u'фантастика'}
ratings = {u'Секретные материалы': 0.9, u'Ведьмак': 0.95, u'Клан Сопрано': 0.8, u'24': 0.75, u'Черное зеркало': 0.98, u'Во все тяжкие': 0.85, u'Игра престолов': 0.87,
           u'Карточный домик': 0.82, u'Рик и Морти': 1}
l = [ratings[show] for show, genre in shows.items() if genre == u'фантастика']
print sum(l) / len(l)



Офлайн

#7 Июнь 25, 2021 21:08:45

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Прошу помочь с решением

i4etverg_ex
om statistics import mean не понимаю и не изучал.
Возможно для чайников есть более длинный код для решения, но с простыми функциями для новичков.
про mean вроде все показали что куда зачем .. добавлю ссылок
https://tproger.ru/translations/guide-into-python-imports/
https://docs.python.org/3/library/statistics.html
ну и прочее
https://pythonist.ru/generatory-python-ih-sozdanie-i-ispolzovanie/

зы эээ рекомендую хотя бы просто что то прочитать по … эээ что вас там интересует



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Июнь 25, 2021 21:12:10)

Офлайн

#8 Июнь 26, 2021 13:58:44

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1393
Репутация: +  124  -
Профиль   Отправить e-mail  

Прошу помочь с решением

i4etverg_ex
Работает, спасибо большое) я имел ввиду, что from statistics import mean не понимаю и не изучал.
Возможно для чайников есть более длинный код для решения, но с простыми функциями для новичков.

 shows = {'Секретные материалы': 'фантастика', 'Ведьмак': 'фэнтази', 'Клан Сопрано': 'криминал', '24': 'драма',
		 'Черное зеркало':
			 'фантастика', 'Во все тяжкие': 'криминал', 'Игра престолов': 'фэнтази', 'Карточный домик': 'драма',
		 'Рик и Морти': 'фантастика'}
ratings = {'Секретные материалы': 0.9, 'Ведьмак': 0.95, 'Клан Сопрано': 0.8, '24': 0.75, 'Черное зеркало': 0.98,
		   'Во все тяжкие': 0.85, 'Игра престолов': 0.87,
		   'Карточный домик': 0.82, 'Рик и Морти': 1}
# собираем список жанров которые даны
genres = set(shows.values())
# создаем словарь жанров со списком рейтингов(пока пустой)
dict_genres = {}
for i in genres:
	dict_genres[i] = []
print(dict_genres) # предварительно посмотрим что получилось
print('------------------>')
for genre in dict_genres:#для каждого жанра из словаря жанров
	for film in ratings:#для каждого фильма из словаря рейтингов
		if shows[film] == genre:#если значение жанра фильма из словаря shows равно текущему жанру из словаря жанров
			dict_genres[genre].append(ratings[film])#добавляем значение рейтинга в список текущего жанра
print(dict_genres)#смотрим что получилось
print('------------------>')
# создаем функцию подсчета среднего значения списка
def average_value(l):
	return sum(l) / len(l)
# создаем итоговый словарь жанр:среднее значение (пока пустой)
average_ratings_genres = {}
for genre in dict_genres:#для каждого жанра из словаря жанров
	average_ratings_genres[genre] = average_value(dict_genres[genre])# заполняем словарь используя функцию подсчета
print(average_ratings_genres) #смотрим что получилось

 {'криминал': [], 'фэнтази': [], 'фантастика': [], 'драма': []}
------------------>
{'криминал': [0.8, 0.85], 'фэнтази': [0.95, 0.87], 'фантастика': [0.9, 0.98, 1], 'драма': [0.75, 0.82]}
------------------>
{'криминал': 0.825, 'фэнтази': 0.9099999999999999, 'фантастика': 0.96, 'драма': 0.7849999999999999}
Process finished with exit code 0

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version