помогите срочно пожалуйста
Магические книги обладают чем-то вроде собственной жизни. У некоторых ее даже в избытке. К примеру, первое издание Некротеликомникона приходится хранить между железными пластинами. «Истенное искуство леветации» провело последние полторы сотни лет наверху, на чердаке, а «Свот животной магеи Же Форджа» лежит в корыте со льдом в отдельной комнате, и строгое правило гласит, что его могут читать только волшебники, достигшие восьмидесяти лет.
Напишите функцию magic_grimoires() для распределения магических книг по группам в зависимости от их названий. Группы такие:
longest – самые длинные названия;
important – названия, записанные большими буквами;
one_word – названия, состоящие из одного слова.
Функция возвращает словарь с указанными ключами, значения по ключам – списки подходящих названий.
Функция принимает произвольное количество аргументов-названий и произвольное число именованных аргументов, среди которых могут быть такие:
length – если аргумент передан, то в группу самых длинных добавляются только названия с длиной, большей значения аргумента; иначе с длиной, большей средней по всем аргументам;
numbering – если аргумент передан, то в начало каждого названия нужно дописать номер по порядку передачи в функцию, начиная со значения этого аргумента, по умолчанию 1;
sorting – если аргумент передан, то списки по ключам должны быть отсортированы по переданному ключу; если нет, то значения идут в порядке передачи аргументов в функцию.
Сортировка (при необходимости) выполняется перед возвращением значения, то есть после всех преобразований.
Ответы
Ответ:
Магические книги обладают чем-то вроде собственной жизни. У некоторых ее даже в избытке. К примеру, первое издание Некротеликомникона приходится хранить между железными пластинами. «Истенное искуство леветации» провело последние полторы сотни лет наверху, на чердаке, а «Свот животной магеи Же Форджа» лежит в корыте со льдом в отдельной комнате, и строгое правило гласит, что его могут читать только волшебники, достигшие восьмидесяти лет.
Напишите функцию magic_grimoires() для распределения магических книг по группам в зависимости от их названий. Группы такие:
longest – самые длинные названия;
important – названия, записанные большими буквами;
one_word – названия, состоящие из одного слова.
Функция возвращает словарь с указанными ключами, значения по ключам – списки подходящих названий.
Функция принимает произвольное количество аргументов-названий и произвольное число именованных аргументов, среди которых могут быть такие:
length – если аргумент передан, то в группу самых длинных добавляются только названия с длиной, большей значения аргумента; иначе с длиной, большей средней по всем аргументам;
numbering – если аргумент передан, то в начало каждого названия нужно дописать номер по порядку передачи в функцию, начиная со значения этого аргумента, по умолчанию 1;
sorting – если аргумент передан, то списки по ключам должны быть отсортированы по переданному ключу; если нет, то значения идут в порядке передачи аргументов в функцию.
Сортировка (при необходимости) выполняется перед возвращением значения, то есть после всех преобразований.
Пример 1
Ввод Вывод
books = ["Necrotelicomnicon",
"The True Art of Levitation",
"SWOT OF ANIMAL MAGIC",
"Transition-7"]
params = {
"numbering": 10,
"sorting": len
}
result = magic_grimoires(*books, **params)
result = {
'longest': ['12SWOT OF ANIMAL MAGIC', '11The True Art of Levitation']
'important': ['12SWOT OF ANIMAL MAGIC']
'one_word': ['13Transition-7', '10Necrotelicomnicon']
}
Пример 2
Ввод Вывод
books = ["ALMADELIUM", "Arbatel-3",
"BLACK CHICKEN",
"Picatrix13",
"Galdbrook"]
params = {
"length": 10
}
result = magic_grimoires(*books, **params)
result = {
'longest': ['3BLACK CHICKEN']
'important': ['1ALMADELIUM', '3BLACK CHICKEN']
'one_word': ['1ALMADELIUM', '2Arbatel-3', '4Picatrix13', '5Galdbrook']
}
Пример 3
Ввод Вывод
def f(line):
return line[-4::-1]
books = ["Ars Notoria",
"The Book of Gonorrhea",
"Abramelin's Book",
"The Book of Black and White Magic"]
params = {
"sorting": f
}
result = magic_grimoires(*books, **params)
result = {
'longest': ['4The Book of Black and White Magic', '2The Book of Gonorrhea']
'important': []
'one_word': []
}
Объяснение: