Задача на пайтон
Гоблины косолапой рысью высыпали на лужайку и выстроились перед О'Тулом, ожидая распоряжений.
– У меня для вас много работы! – объявил он. – Для начала идите к мосту и скажите этим троллям, чтобы они не смели заклятия накладывать. Скажите им, что это последнее предупреждение. Если они снова примутся за свое, мы разнесем тот мост по камушку и каждый мшистый камень укатим далеко от других, так что вновь тот мост не встанет никогда. И пусть снимут заклятие вот с этого упавшего помела, чтобы оно летало как новое!
Напишите функцию для выбора заклятий по некоторым условиям.
Функция warning() принимает произвольное число позиционных аргументов и произвольное количество именованных параметров из набора:
words – строка состоит ровно из указанного в значении количества слов;
no_sub – в строке нет указанной подстроки в любом регистре;
ends – строка заканчивается на букву, если значение 0, или не на букву, если любое другое значение.
Функция должна вернуть словарь, в котором каждый ключ – это один из переданных именованных аргументов, а значение – наибольшая по алфавиту строка из позиционных аргументов, подходящая по этому ключу.
Если именованный аргумент передан, а подходящего значения не нашлось, то такой ключ в словарь не добавляется.
Пример 1
Ввод
messages = [
"go", "tell them", "cast spells",
"dare,", "we'll drive away", "we'll smash9"
]
params = {
"words": 2,
"no_sub": "lL",
"ends": 8
}
print(warning(*messages, **params))
Вывод
{
"no_sub": "go",
"words": "we'll smash9",
"ends": "we'll smash9"
}
Пример 2
Ввод
messages = [
"And let them remove", "the spell from this",
"fallen broomstick", "so that it flies",
"like new!"
]
params = {
"words": 5,
"ends": 0
}
print(warning(*messages, **params))
Вывод
{
"ends": "the spell from this"
}
я нечего не понял