Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3790680
А
Аноним
15 часов назад · публичный вопрос
А
Аноним

Напишите функцию count_less(lst, limit=10), которая возвращает количество элементов списка, меньших limit.

Запрос пользователя

Реши задание на изображении

Ответ нейросети
15 часов назад

Краткий ответ

\[ \text{Ответ: } 3\ 6 \]

Элементов меньше 10 — три (4, 9, 3), меньше 20 — шесть (4, 15, 9, 10, 3, 18).

Как это получается

1. Функция с параметром по умолчанию

def count_less(lst, limit=10):
    return sum(x < limit for x in lst)

limit=10 — значение по умолчанию: если аргумент не передали, Python сам подставит 10. Выражение x < limit даёт True/False, а sum считает их как 1 и 0 — поэтому получается ровно количество подходящих элементов.

2. Два вызова и печать

lst = [4, 15, 9, 22, 10, 3, 18]
print(count_less(lst), count_less(lst, limit=20))

print с двумя аргументами сам разделяет их пробелом — строка 3 6 получится без ручной склейки.

3. Проверка по списку

  • Первый вызов (сравнение с 10): \(4<10\) да, \(15<10\) нет, \(9<10\) да, \(22<10\) нет, \(10<10\) нет, \(3<10\) да, \(18<10\) нет → 3.
  • Второй вызов (сравнение с 20): 4, 15, 9 — да; \(22<20\) нет; 10, 3, 18 — да → 6.

Ключевая тонкость: сравнение строгое, поэтому само число 10 в первый счётчик не попадает (в отличие от 10 во втором вызове, где оно меньше 20).