Size: a a a

Сообщество Python Программистов

2020 May 04

AT

Alexander T in Сообщество Python Программистов
Просто Ярик
@alext18 снова прошу совета😅
Santa is coming to town and he needs your help finding out who's been naughty or nice. You will be given an entire year of JSON data following this format:

{
   January: {
       '1': 'Naughty','2': 'Naughty', ..., '31': 'Nice'
   },
   February: {
       '1': 'Nice','2': 'Naughty', ..., '28': 'Nice'
   },
   ...
   December: {
       '1': 'Nice','2': 'Nice', ..., '31': 'Naughty'
   }
}

Your function should return "Naughty!" or "Nice!" depending on the total number of occurrences in a given year (whichever one is greater). If both are equal, return "Nice!"
from collections import Counter
def naughty_or_nice(data):
   ni, na = 'Nice', 'Naughty'
   c = Counter([v for month in data.values() for v in month.values()])
   return (ni, na)[c[na] > c[ni]]
источник

A

Alexander in Сообщество Python Программистов
тут еще блядство с форматом JSON, который как бы не JSON, а именно JS object
источник

ПЯ

Просто Ярик... in Сообщество Python Программистов
Alexander T
from collections import Counter
def naughty_or_nice(data):
   ni, na = 'Nice', 'Naughty'
   c = Counter([v for month in data.values() for v in month.values()])
   return (ni, na)[c[na] > c[ni]]
+
источник

A

Axenia in Сообщество Python Программистов
In_som_nia78 (16.17) увеличил карму alext18 (526.62)
источник

AT

Alexander T in Сообщество Python Программистов
поправил чуть, там косяк с порядком компреха был
источник

ПЯ

Просто Ярик... in Сообщество Python Программистов
Просто Ярик
def naughty_or_nice(data):
   return 'Nice!' if str(data).count('Nice') >= str(data).count('Naughty') else 'Naughty!'
Но вот этот, хоть и извращенский, но самый короткий
источник

ПЯ

Просто Ярик... in Сообщество Python Программистов
Правда, если значений в словаре больше, чем 2, то он юзлесс
источник

AT

Alexander T in Сообщество Python Программистов
проблема в длине
источник

AT

Alexander T in Сообщество Python Программистов
хорошо что тут год, но если больше данные то дополнительные проходы могут дать таймаут
источник

А

Ауаh in Сообщество Python Программистов
Помогите создать простой телеграмм бот через питон очень срочно, заплачу
источник

Н

Няша in Сообщество Python Программистов
источник

Н

Няша in Сообщество Python Программистов
источник

Н

Няша in Сообщество Python Программистов
источник

AT

Alexander T in Сообщество Python Программистов
Ауаh
Помогите создать простой телеграмм бот через питон очень срочно, заплачу
сколько платишь, какой бот, насколько срочно?
источник

AT

Alexander T in Сообщество Python Программистов
ох уж эти мета вопросы
источник

I

ITFY forum informer in Сообщество Python Программистов
Новый вопрос в форуме: TypeError: list expected at most 1 arguments, got 2
источник

A

Alexander in Сообщество Python Программистов
Alexander T
from collections import Counter
def naughty_or_nice(data):
   ni, na = 'Nice', 'Naughty'
   c = Counter([v for month in data.values() for v in month.values()])
   return (ni, na)[c[na] > c[ni]]
тот же вариант без импортов:
def naughty_or_nice(x):
   d = [x[i][j] for i in x for j in x[i]]
   return ("Naughty","Nice")[d.count("Nice")>d.count("Naughty")]
источник

AT

Alexander T in Сообщество Python Программистов
Alexander
тот же вариант без импортов:
def naughty_or_nice(x):
   d = [x[i][j] for i in x for j in x[i]]
   return ("Naughty","Nice")[d.count("Nice")>d.count("Naughty")]
да, но каунтер вроде б побыстрее, и 1 проход вместо двух
источник

А

Ауаh in Сообщество Python Программистов
Alexander T
сколько платишь, какой бот, насколько срочно?
Цену не знаю,сами напишите, можно прогноз погоды, до вечера
источник

AT

Alexander T in Сообщество Python Программистов
Ауаh
Цену не знаю,сами напишите, можно прогноз погоды, до вечера
5000р
источник