Перейти к содержимому

Количество элементов которые больше предыдущего python

  • автор:

Name already in use

python-codes.-part-2 / while «Количество элементов, которые больше предыдущего» "The number of items that are greater than the previous"

  • Go to file T
  • Go to line L
  • Copy path
  • Copy permalink
  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents

Copy raw contents

Copy raw contents

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

Задача на питоне.

Вводится число N. Дальше вводится массив целых чисел из N элементов.

Выведите количество элементов, которые больше предыдущего.

В примере второй элемент больше первого ( 1<2), третий элемент больше предыдущего (2<3) и пятый элемент больше предыдущего (2<5). Всего элементов, больших предыдущего ровно 3

Ответы на вопрос

Программа:
Python:

N, arr, amount = int(input()), [], 0

for i in range(N):

for i in range(len(arr)):

if i != 0 and arr[i] > arr[i — 1]:

Объяснение:

В начале регистрируются три переменные:

  • Переменная N — хранит целое число. Это количество элементов массива.
  • Переменная arr — хранит массив. Это массив введённых с клавиатуры чисел.
  • Переменная amount — хранит целое число. Это количество элементов массива, которые больше предыдущего числа.

Далее, с помощью цикла for выполняется тело цикла N раз: вводится число, которое получает целочисленный тип данных, и это число добавляется в конец массива arr.

Второй цикл. Он выполняется также N раз (или же len(arr) раз — длина массива arr). Если i не равно нулю (т.е. это не первое число массива) И текущий элемент (i) больше предыдущего (i — 1), увеличиваем значение переменной amount на единицу. В конце выводится amount.

Как можно считать все элементы массива по условию? [закрыт]

Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос. Пожалуйста, отредактируйте вопрос и укажите, что именно вызвало у вас трудности при решении задачи. Например, приведите код, который вы написали, пытаясь решить задачу

Закрыт 1 год назад .

Как можно реализовать программу, чтобы считать количество элементов массива, пока каждый следующий элемент больше предыдущего, а потом вывести их максимальную длину?

MaxU - stand with Ukraine's user avatar

Сначала мы определим max_amount = 0 как максимальное число возрастающих элементов и amount = 1 как текущее число элементов. Затем мы запустим цикл со второго элемента цикла (первый уже зачтён, отсюда и amount = 1 ), внесём last_elem как первый элемент массива и проведём следующие шаги:

  • Считаем следующий элемент массива как elem и сравним его с предыдущим;
  • Если elem > last_elem , то увеличиваем amount на 1;
  • Если предыдущий шаг не прошёл, то, если max_amount < amount , заменяем максимальную цепь на amount . В любом случае цепь начинается заново, и тогда amount = 1 ;
  • Если в списке есть элементы, переходим к следующему, иначе выходим из цикла.

Если мы вышли из цикла, то мы должны дополнительно сравнить оставшееся значение amount с max_amount и последовать шагу 3 (например, если список оканчивается возрастающей последовательностью: [1, 9, 8, 10, 12, 13, 14] ).

4500zenja's user avatar

Попробуйте пройдись по телу массива, и если следующий элемент массива будет меньше предыдущего то найдите индекс следующего , и это и будет его длина

aqua's user avatar

Алексей's user avatar

Исходя из комментариев выше пришёл к такому решению своей проблемы:

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.6.8.43486

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *