Top.Mail.Ru
Ответы

Решите задачу на питоне легкую очень

Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или run.py
Вывод стандартный вывод или output.txt
Лететь с Мартином – одно удовольствие. Только вот беда – есть нечего. Дикие гуси вылавливали для Нильса самые лучшие водоросли и самых больших головастиков, но Нильс никак не решался отведать такое угощение.

Случалось, что ему везло, и в лесу, под сухими листьями, он находил прошлогодние орешки. Он нёс их Мартину, закладывал ему в клюв, и Мартин раскалывал твёрдую скорлупу лучше всяких щипцов.

Но орехов было очень мало.

Чтобы найти хоть один орешек, Нильсу приходилось целый час бродить по лесу, пробираясь сквозь жёсткую, прошлогоднюю траву, увязая в сыпучей хвое, спотыкаясь о хворостинки.

Напишите функцию find_food(), которая поможет Нильсу найти еду. Делается это так.

Из каждой строки, в которой числа записаны через пробел, нужно найти такие, которые больше среднего арифметического, а среди них выбрать наименьшее, Нильс не жадный.

Функции принимает произвольное число позиционных аргументов-строк с числами и произвольное число именованных параметров. Если именованные параметры не переданы, то функция просто возвращает список кортежей, в которых записаны: (количество чисел в строке, отобранное по правилу число).

Если передан именованный аргумент regularize и он имеет значение True, то кортежи в списке должны быть отсортированы. Если False, то отсортированы в обратном порядке.

Если передан именованный аргумент reduce, то полученное число нужно нацело разделить на значение аргумента.

Пример 1
Ввод Вывод
data = ['2 15 148 3 6 12 9', '23 32 1 2 22 122 1', '3 12 85 7', '1984 42 13 7 5']
print(*find_food(*data), sep="\n")

По дате
По рейтингу
Аватар пользователя
Новичок

Вот:

1234567
 def find_food(*a, regularize=None, reduce=1):
    def min_over_avg(rs):
        ns = list(map(int, rs))
        s, c = sum(ns), len(ns)
        return c, min(filter(lambda x: x * c > s, ns)) // reduce
    ps = map(min_over_avg, map(str.split, a))
    return list(ps) if regularize is None else sorted(ps, reverse = not regularize) 


А вообще, ожидаемый вывод от теста тоже надо бы приводить.

Аватар пользователя
Ученик

pythonfordolboeb = 100

if pythonfordolboeb > 1 then
print("Какой питон, самый ужасный и кринжовый язык программирования")
end