a, b = [], int(input())
while b != 0:
a.append(b)
b = int(input())
print(sum(filter(lambda x: str(x)[-1] != '0' and x % 5 == 0, a)))
Если нужно более подробное решение, то пожалуйста напишите в комментариях, и уточните на какую тему задание def calculate_sum(numbers):
sum_of_numbers = 0
for number in numbers:
if number == 0: # Условие окончания ввода
break
if number > 300: # Игнорируем числа больше 300
continue
if number % 5 == 0 and number % 10 != 0:
sum_of_numbers += number
if sum_of_numbers > 100: # Проверяем, не превышает ли сумма 100
sum_of_numbers -= number # Отменяем последнее сложение
break
return sum_of_numbers
# Пример использования функции:
input_numbers = [3, 15, 25, 11, 10, 0]
result = calculate_sum(input_numbers)
print(f"Результат: {result}")
from itertools import takewhile
# Используем itertools.takewhile для ограничения суммы значениями меньше 100
def calculate_smart_sum(input_numbers):
return sum(n for n in takewhile(lambda x: x <= 100,
(n for n in input_numbers if n % 5 == 0 and n % 10 != 0 and n <= 300)))
# Тестовый набор чисел
input_numbers = [3, 15, 25, 11, 10, 0]
# Вызываем функцию и печатаем результат
calculate_smart_sum(input_numbers)