Python

Python. Использование стандартных методов работы со списками(для чайников)

Дан список целых чисел. Если в нем есть два соседних элемента разных знаков, выведите эти числа. Если таких элементов нет, то выведите NO. Если таких пар соседних элементов несколько, то выведите последнюю пару.
Если нужно найти последнюю такую пару, то надо начинать обход списка с его конца. Если такая пара единственная, то она последней и будет:
 A, yes = [0, 2, 3, 4, 5, 6, 7, 8, 9, 0], true  
for i in range(len(A)-1, 0, -1):
if A[i]*A[i-1] < 0:
print(A[i-1], A[i]); yes = false; break
if yes: print("No")
Олег Олегов
Олег Олегов
66 572
Лучший ответ
Вы можете использовать цикл for для перебора списка целых чисел и условную конструкцию if для проверки, являются ли соседние элементы разных знаков.

Например, вот так:
 numbers = [15, -2, 3, -4, 5, 6, 7, 8, 9] 
found = False

for i in range(len(numbers) - 1):
if (numbers[i] > 0 and numbers[i + 1] < 0) or (numbers[i] < 0 and numbers[i + 1] > 0):
print(numbers[i], numbers[i + 1])
found = True

if not found:
print("NO")
В этом коде мы используем цикл for для перебора элементов списка numbers и условную конструкцию if для проверки, являются ли соседние элементы разных знаков. Если это так, то мы выводим эти элементы на экран. Если таких элементов нет, то мы выводим сообщение NO.

В этом коде мы также используем переменную found для хранения состояния, нашли ли мы такую пару соседних элементов или нет. Если такая пара найдена, то мы устанавливаем переменную found в True, чтобы в конце цикла мы могли определить, что такая пара была найдена. В конце цикла мы используем условную конструкцию if not found: для проверки, была ли такая пара найдена. Если не была, то мы выводим сообщение NO.

Этот код выведет следующее:
 1 -2 
-4 5
Таким образом, мы нашли последнюю пару соседних элементов разных знаков и вывели ее на экран.