Сверь числа и знаки с фото.
Напишите функцию count_less(lst, limit=10), которая возвращает количество элементов списка, меньших limit. Для списка 4, 15, 9, 22, 10, 3, 18 выведите через пробел количество элементов, меньших 10, не передавая limit, и количество элементов, меньших 20, передав limit по имени. В ответе запишите выведенные числа через пробел.
Краткий ответ
\[ \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).