Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3595921
А
Аноним
06 апреля 2026 04:58 · публичный вопрос
А
Аноним

A = [5, -6, 2, -1, -4, -5, 8, 7, -3] neg_numbers = [] for k in range(len(A) - 1, -1, -1): if A[k] < 0: neg_numbers.append(A[k]) print(neg_numbers)

Ответ нейросети
06 апреля 2026 04:58

Вот подробное решение и разбор кода.

Что делает программа

  • Дано A = [5, -6, 2, -1, -4, -5, 8, 7, -3].
  • neg_numbers начинается как пустой список.
  • Цикл for k in range(len(A) - 1, -1, -1): идёт по индексам элемента A от последнего к первому.
  • Если A[k] < 0 (число отрицательное), то это значение добавляется в neg_numbers.
  • В конце печатается neg_numbers.

Пошаговый разбор выполнения

  1. Исходные данные: A = [5, -6, 2, -1, -4, -5, 8, 7, -3] neg_numbers = []

  2. Итерации цикла (индексы от 8 до 0):

  • k = 8: A[8] = -3 -> отрицательное -> neg_numbers = [-3]
  • k = 7: A[7] = 7 -> не отрицательное -> neg_numbers остается [-3]
  • k = 6: A[6] = 8 -> не отрицательное -> neg_numbers остается [-3]
  • k = 5: A[5] = -5 -> отрицательное -> neg_numbers = [-3, -5]
  • k = 4: A[4] = -4 -> отрицательное -> neg_numbers = [-3, -5, -4]
  • k = 3: A[3] = -1 -> отрицательное -> neg_numbers = [-3, -5, -4, -1]
  • k = 2: A[2] = 2 -> не отрицательное -> neg_numbers остается [-3, -5, -4, -1]
  • k = 1: A[1] = -6 -> отрицательное -> neg_numbers = [-3, -5, -4, -1, -6]
  • k = 0: A[0] = 5 -> не отрицательное -> neg_numbers остается [-3, -5, -4, -1, -6]
  1. Вывод результата: print(neg_numbers) печатает: [-3, -5, -4, -1, -6]

Итоговый результат

  • neg_numbers = [-3, -5, -4, -1, -6]
  • Вывод: [-3, -5, -4, -1, -6]

Замечания и альтернативы

  • В текущем коде отрицательные числа собираются в порядке обхода с конца списка, поэтому итоговый порядок отрицательных чисел обратный их появлению в A.
  • Если нужно сохранить исходный порядок отрицательных чисел, можно:
    • пройти по списку вперед и собирать negatives: neg_numbers = [x for x in A if x < 0]
    • или после цикла обратить список: neg_numbers.reverse()
  • Временная сложность: O(n), где n — длина A.
  • Пространственная сложность: O(m), где m — количество отрицательных элементов (в худшем случае O(n)).

Если нужно, могу показать варианты реализации в разных стилях или адаптировать под конкретный класс/уровень сложности.