Python Задачи 9 класс

Я только начал изучать Python и очень плохо понимаю как что работает. Объясните пожалуйста, что неправильно. Вот задача и мой код:

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3 и оканчивающееся на 4. Количество чисел не превышает 100. Введённые числа по модулю не превышают 300. Программа должна вывести одно число: сумму чисел, кратных 3 и оканчивающихся на 4. Пример работы программы:

Входные данные: 3 24 25 54
Выходные данные: 78

b=int(input())
numbers=300
for i in range(b):
    a=int(input())
    if (a) % 3== 0 and a %10 ==4:
        a=a
print(a)

Буду признателен если поможете, а за одно не могли бы посоветовать с чего начать такому дереву как я ?
Что смотреть/читать/решать?


Ответы (1 шт):

Автор решения: Amgarak

numbers = через split() используя разделитель по умолчанию ' ' мы разбиваем строку с числами на список. Через map итерируем полученный список и вызываем для каждого его элемента функцию int. На выходе получаем список чисел.

def sum_of_numbers(n, numbers):
    my_sum = 0
    for number in numbers: # итерируем список
        if number % 3 == 0 and number % 10 == 4:
            my_sum += number # складываем подходящие под условия цифры
    return my_sum

n = int(input("Количество чисел в последовательности: "))
numbers = list(map(int, input("Сами числа через пробел: ").split()))

result = sum_of_numbers(n, numbers)
print("Сумму чисел, кратных 3 и оканчивающихся на 4:", result)

А так в целом вектор мысли был верным.

Количество чисел в последовательности: 4
Сами числа через пробел: 3 24 25 54
Сумму чисел, кратных 3 и оканчивающихся на 4: 78

[Program finished]

Лично я в вас верю, но общественность намекает что пример нужно упростить. Давайте исправим пару недочетов в вашей программе:

b=int(input())
my_sum=0 # нам нужна пустая переменная, что бы записывать в нее сумму всех подходящих чисел
for i in range(b):
    a=int(input())
    if a % 3== 0 and a %10 ==4:
        my_sum+=a # можно явно указать my_sum=my_sum+a
print(my_sum)

4
3
24
25
54
78

[Program finished]

Из пожеланий: давайте переменным осмысленные названия.

→ Ссылка