Нужно проверить, что все значения в списке prices строго положительные. Какое выражение вернёт True только если каждый элемент больше нуля?

Aany(p > 0 for p in prices)
B[p > 0 for p in prices]
Csum(p > 0 for p in prices)
Dall(p > 0 for p in prices)
Правильный ответ. all(...) возвращает True только когда каждый элемент удовлетворяет условию.

Разбор

all(p > 0 for p in prices) обходит все цены и возвращает True, лишь когда условие истинно для каждой. any вернёт True уже при первом положительном элементе — это «хотя бы один», а не «все». Списочное включение [p > 0 for p in prices] отдаёт список булевых значений, а не один общий флаг. sum(p > 0 for p in prices) посчитает количество положительных элементов, что не отвечает на вопрос «строго все».

Проверь себя · 1/3разбор после ответа
Есть список сумм amounts = [0, 0, 10]. Что вернёт выражение any(a > 0 for a in amounts)?
Тренировать Python в Telegram

Ещё вопросы по теме «Генераторы списков и встроенные функции»