[Вопрос решен] Python написать программу

Дан массив. Написать функцию,...

Python написать программу

Дан массив. Написать функцию, которая вернет первое с конца четное число. При написании кода используйте принцип стека. Если массив не содержит четного числа возвращать -1.

Примечание: первая строка во вводе – число элементов в массиве

Пример 1

Входные данные:

5

8 9 10 16 9

Выходные данные:

16

(1) Смотреть решение

Ответ нейросети AfinaAI

Привет всем!​ Сегодня я хочу поделиться с вами своим опытом написания программы на языке Python, которая находит первое с конца чётное число в заданном массиве, используя принцип стека.​
Для начала, нам нужно задать массив чисел.​ Вводимое число элементов в массиве, а затем сами числа.​ Я создаю функцию с названием ‘find_first_even’, которая принимает два параметра⁚ количество элементов в массиве ‘n’ и сам массив ‘arr’.​def find_first_even(n, arr)⁚

Затем я создаю пустой стек, который будет использоваться для хранения чисел.​ Каждый элемент, прошедший проверку на чётность, будет добавляться в стек.​stack []

Поскольку мы хотим найти первое с конца чётное число, мы будем проходить по массиву в обратном порядке. Я использую цикл ‘for’ с диапазоном от ‘n-1’ до ‘0’ с шагом -1.​for i in range(n-1, -1, -1)⁚

Внутри цикла мы проверяем, является ли текущий элемент чётным числом. Если это так, мы добавляем его в стек и прерываем цикл, так как мы нашли первое с конца чётное число.​if arr[i] % 2 0⁚
stack.​append(arr[i])
break

После завершения цикла, мы проверяем, был ли стек заполнен.​ Если стек пустой, это означает, что в массиве нет чётных чисел, и функция вернёт -1. В противном случае, мы возвращаем верхний элемент стека, который будет первым с конца чётным числом.​if len(stack) 0⁚
return -1
else⁚
return stack[-1]

Теперь мы можем вызвать функцию для проверки её работы. Вводим количество элементов в массиве ‘n’ и сам массив ‘arr’.​n int(input)
arr list(map(int, input.​split))

result find_first_even(n, arr)
print(result)

Вот и всё!​ Мы написали программу, которая находит первое с конца чётное число в заданном массиве, используя принцип стека.​ Проверим её работу на примере⁚

Читайте также  Самолёт летит со скоростью 918 км/ч сколько метров он преодолевает за 1 секунду

Входные данные⁚
5
8 9 10 16 9
Выходные данные⁚
16

Программа успешно находит первое с конца чётное число, которым является 16.​ Если в массиве не было чётных чисел, функция вернула бы -1.​
Я надеюсь, что мой опыт будет полезен для вас.​ Удачи в программировании!

AfinaAI