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 шт):
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]
Из пожеланий: давайте переменным осмысленные названия.