Попробуем решить задачу нахождение суммы элементов, которые удовлетворят каком-либо условию. Например, элементы больше нуля. Список мы будем с вами заводить с помощью функции Random.
Для того, чтобы функция random работала, не забудем импортировать её из библиотеки random:
from random import randint
Список я заведу с помощью функций randint и цикла for. Диапазон для рандомных функции можно использовать любой.Но нам нужны также отрицательные элементы, чтобы проверить работоспособность нашей программы, поэтому мы возьмём диапазон от -10 до 20:
a= [randint(-10, 20) for i in range(1,11)]
Теперь можно переходить к циклу. Нам надо не просто завестись цикл от 0 до 10 (Вы помните что первый элемент имеет индекс 0,а не 1) и сложить все элементы. Но ещё надо поставить условие - это конструкция if - проверим, если элемент больше нуля тогда мы его уже складываем:
for i in range (0,10):
if a[i]>0:
sum+=a[i]
Не забудем в начале программы присвоить переменно sum значение 0, чтобы python понял какого типа переменная нам понадобиться. Ну, и в самом конце, проверим что получилось. Функцией print выведем и массив и сумму:
print (a,sum)
Пример вывода будет следующим:
[-2, 13, 0, 2, 18, 3, -7, 2, 9, 9] 56
Итоговая программа:
from random import randint
sum=0
a= [randint(-10, 20) for i in range(1,11)]
for i in range (0,10):
if a[i]>0:
sum+=a[i]
print (a,sum)
А сейчас мы с вами решим вторую задачу, она будет чуть посложнее. Первое: массив мы попросим ввести пользователя, второе: мы будем находить сумму тех элементов которые кончаются на 5 и при этом делится на три. Именно из-за того, что у нас такое сложное условие мы попросим ввести пользователя все элементы, чтобы такие элементы в нашем списке точно имелись.
Первое что мы сделаем это примем n количество элементов в списке:
n=int(input())
А сейчас мы с вами попросим пользователю ввести элементы от 1 до n, сразу заполняя ими массив:
a= [int (input()) for i in range (1,n+1)]
Наш массив готов, можно считать в нём сумму тех элементов, которые удовлетворяют в нашем условию. Чтобы проверить оканчивается ли число на 5, мы спросим остаток от деления на 10 - он должен быть равен 5:
a[i]%10==5
Второе условие делимость на 3, то есть остаток от деления на три должен быть равен нулю:
a[i]%3==0
Соединяем два условия конструкцией if используя связку and, так как нам необходимо чтобы выполнялись оба условия сразу:
if a[i]%3==0 and a[i]%10==5:
если это условие выполняется то мы считаем сумму:
if a[i]%3==0 and a[i]%10==5:
sum+=a[i]
Осталось только вывести итоговый результат. Выведем также массив а, чтобы на него посмотреть ещё раз и сумму. Не забудем также, что переменной sum надо присвоить ноль в начале программы:
n=int(input())
sum=0
a= [int (input()) for i in range (1,n+1)]
for i in range (0,n):
if a[i]%3==0 and a[i]%10==5:
sum+=a[i]
print (a,sum)