Задачa для решения на Python, содержит решение-ответ
Кратны 3, заканчиваются на 2
Напишите программу, которая в последовательности N чисел ищет количество чисел кратных 3 и заканчивающихся на 2.
Пример последовательности: s = [7, 14, 12, 19, 25, 33, 41, 8, 42, 16, 23, 50, 72, 5, 28, 37, 11, 44, 30, 9]
Решение:
sum с генератором и 1
s = [7, 14, 12, 19, 25, 33, 41, 8, 42, 16, 23, 50, 72, 5, 28, 37, 11, 44, 30, 9]
print(sum(1 for num in s if num % 3 == 0 and num % 10 == 2))
Возможные решения:
Обычный цикл
s = [7, 14, 12, 19, 25, 33, 41, 8, 42, 16, 23, 50, 72, 5, 28, 37, 11, 44, 30, 9]
counter = 0
for num in s:
if num % 3 == 0 and num % 10 == 2:
counter += 1
print(counter)
sum с булевыми значениями
s = [7, 14, 12, 19, 25, 33, 41, 8, 42, 16, 23, 50, 72, 5, 28, 37, 11, 44, 30, 9]
print(sum(num % 3 == 0 and num % 10 == 2 for num in s))
filter + len
s = [7, 14, 12, 19, 25, 33, 41, 8, 42, 16, 23, 50, 72, 5, 28, 37, 11, 44, 30, 9]
print(len(list(filter(lambda x: x % 3 == 0 and x % 10 == 2, s))))
list comprehension + len
s = [7, 14, 12, 19, 25, 33, 41, 8, 42, 16, 23, 50, 72, 5, 28, 37, 11, 44, 30, 9]
print(len([num for num in s if num % 3 == 0 and num % 10 == 2]))