Задача максимальное число подряд идущих равных питон

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

Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу.

Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
x = int(input()) if x == 0: print('0') else: y = int(input()) a = 1 z = 1 if x == y: a += 1 z += 1 if y == 0: print('1') while x != 0: x = int(input()) if x == y: a += 1 else: y = x a = 1 if a >= z: z = a

Когда грейдер проверяет данный код, выдает ошибку runtime error. Однако, какие бы примеры я не придумывал ответ верный. Можете подсказать что не так ?

Определить, какое наибольшее число подряд идущих элементов последовательности равны друг другу
Дана последовательность натуральных чисел, завершающаяся двумя нулями. Определите, какое наибольшее.

Определить, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее.

Определить, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу.
Дана последовательность натуральных чисел, завершающаяся числом 0. Определить, какое наибольшее.

Читайте также:  Абсолютное позиционирование

Определить, какое наибольшее число подряд идущих элементов последовательности равны друг другу
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее.

может речь идет про то, что если последовательность из 3 чисел состоит, например: 999, . 99
то нужно найти сколько 99, будет в списке?
или тех же 27, 44 — не важно

Добавлено через 44 секунды
Дело в том , что я не хочу узнать как решается эта задача. Мое решение верное , но грейдер на сайте не пропускает ее из за какого то нюанса при котором на 5 тесте ошибка runtime error.

Исхода 2:
1) не верно настроенный грейдер
2) я что то упустил.

Пример ввода и вывода
5 4 4 4 4 4 4 3 2 1
Ответ 6

Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).

Эксперт Python

Что за странный ввод у вас? Вам нужно ввести всего одну строку состоящую из цифр, один раз.

Добавлено через 3 минуты
P.S. Не, ну если так требует какой там грейдер. Но на таких системах обучения вы нормальному кодингу не научитесь.
Ваш код никакого отношения к python не имеет — здесь так не пишут. while это вообще практически ненужная конструкция в python.

Эксперт Python

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
def longest_same_sequence(s): lng,tmp = 1,1 for i in range(len(s)-1,0,-1): if s[i]==s[i-1]: tmp += 1 else: if tmp > lng: lng = tmp tmp = 1 if tmp > lng: lng = tmp return lng
longest_same_sequence("122333444455555666666777777788888888999999999") == 9 longest_same_sequence('112') == 2 longest_same_sequence('1011') == 2

На сайте где я обучаюсь. Пройден материал только по ветвлениям if и циклам while. Соответственно, больше ничего нельзя использовать.

Лучший ответ

Сообщение было отмечено mahno95 как решение

Решение

Garry Galler, я не Вам о попробовать, а ТС.

mahno95, а у меня нет. И из кода следует — нет. Либо я туплю со страшной силой. Вводите 1, вводите 0, питон выводит 1, смотрит x != 0, не равно и просит ввести следующее число.

shsv,
Я перепутал от кого сообщение — отвечал, думая что реплика от ТС 🙂

И кстати, если сразу введете 0, получите ошибку NameError

Добавлено через 1 минуту

Garry Galler, 🙂 не страшно. В том, что Вы знаете имогёте я ни сколько не сомневаюсь

ЦитатаСообщение от mahno95 Посмотреть сообщение

Дело в том , что я не хочу узнать как решается эта задача. Мое решение верное , но грейдер на сайте не пропускает ее из за какого то нюанса при котором на 5 тесте ошибка runtime error.

причин может быть масса
например на одних курсах нужно было писать
print пробел (»)

Определить какое наибольшее число подряд идущих элементов последовательности равны друг другу
Добрый вечер, решил задачку, но выдаёт ошибку на пятом тесте. У меня два вопроса: Есть ли более.

Определить наибольшее число подряд идущих одинаковых элементов последовательности
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее.

Определить какое наибольшее число подряд идущих купе полностью свободны
В плацкартном вагоне 54 места, пронумерованных числами от 1 до 54. Вагон разбит на 9 купе. Первые.

Подсчитать наибольшее число букв «а» идущих подряд в данной последовательности
Решите пожалуйста эти задачи . Очень нужны. 1. Дана последовательность из n символов. Известно.

наибольшее число подряд идущих элементов
Задача вроде не сложная, но что-то не так. 🙁 HELP! Дана последовательность натуральных чисел.

Источник

Определить, какое наибольшее число подряд идущих элементов последовательности равны друг другу

Дана последовательность натуральных чисел, завершающаяся двумя нулями. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу.
как сделать что-бы завершалась двумя нулями?И правильно ли я сделал программу?
вот сделал но последовательность завершается после одного нуля.

1 2 3 4 5 6 7 8 9 10 11 12 13
p=int(input()) c=1 b=0 while p!=0: v=int(input()) p,v=v,p if v==p: c+=1 if c>b: b=c if p!=v: c=1 print(b)

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

Определить какое наибольшее число подряд идущих элементов последовательности равны друг другу
Добрый вечер, решил задачку, но выдаёт ошибку на пятом тесте. У меня два вопроса: Есть ли более.

Определить, какое наибольшее число подряд идущих элементов последовательности равны друг другу
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее.

Определить, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее.

Лучший ответ

Сообщение было отмечено mik-a-el как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
p = int(input()) # previous number c = 1 # current sequence lenth b = 1 # maximum sequence lenth while True: v = int(input()) # current number if v == p: if v == 0: break c += 1 else: if c > b: b = c p = v c = 1 print(b)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
a = int(input()) aMax1 = a aMax2 = 0 n = 1 while a != 0: a = int(input()) if a > aMax1: aMax2 = aMax1 aMax1 = a n = 1 elif aMax1 > a > aMax2: aMax2 = a elif a == aMax1 : n += 1 print(n)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a=int(input()) b=int(input()) n=1 m=0 while a!=0 and b!=0: if a==b: a=b b=int(input()) n+=1 if a!=b!=0: m=max(n,m) n=1 a=b b=int(input()) print(max(n,m))

Определить наибольшее число подряд идущих одинаковых элементов последовательности
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее.

Определить какое наибольшее число подряд идущих купе полностью свободны
В плацкартном вагоне 54 места, пронумерованных числами от 1 до 54. Вагон разбит на 9 купе. Первые.

Определить наибольшее число идущих подряд одинаковых элементов в массиве
Помогите изменить программу. Дана: Определить наибольшее число идущих подряд положительных.

Определить наибольшее число идущих подряд положительных элементов в массиве А
Составить алгоритм и программу нахождения заданного экстремального элемента или его порядкового.

Определить наибольшее число идущих подряд положительных элементов в массиве
1)Дан массив A из N элементов. Определить наибольшее число идущих подряд положительных элементов в.

Источник

Python-сообщество

[RSS Feed]

  • Начало
  • » Центр помощи
  • » Задача с pythontutor

#1 Июль 18, 2016 14:26:11

Straik32423 От: Ростов-на-Дону, Россия Зарегистрирован: 2016-05-18 Сообщения: 46 Репутация: 0 Профиль Отправить e-mail

Задача с pythontutor

Привет. Помогите решить задачу.
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу.

#2 Июль 18, 2016 15:33:16

Задача с pythontutor

Нужно две переменные: одна — под максимальное число равных элементов, другая — под текущее число равных элементов. И нужно ещё одну переменную под предыдущий элемент.

Берёшь каждый элемент, сравниваешь его с предыдущим и там три ситуации:
1) Элемент — ноль. Нужно сравнить максимальное число с текущим числом и заменить максимальное на текущее, если текущее больше максимального.
2) Элемент — не ноль и равен предыдущему элементу. Увеличить текущее число.
3) Элемент — не ноль и не равен предыдущему элементу. Сравнить максимальное число с текущим числом и заменить максимальное на текущее, если текущее больше максимального. Установить текущее число в 1.

Отредактировано py.user.next (Июль 18, 2016 15:50:06)

#3 Июль 19, 2016 13:35:03

Straik32423 От: Ростов-на-Дону, Россия Зарегистрирован: 2016-05-18 Сообщения: 46 Репутация: 0 Профиль Отправить e-mail

Задача с pythontutor

py.user.next
Нужно две переменные: одна — под максимальное число равных элементов, другая — под текущее число равных элементов. И нужно ещё одну переменную под предыдущий элемент.Берёшь каждый элемент, сравниваешь его с предыдущим и там три ситуации:1) Элемент — ноль. Нужно сравнить максимальное число с текущим числом и заменить максимальное на текущее, если текущее больше максимального.2) Элемент — не ноль и равен предыдущему элементу. Увеличить текущее число.3) Элемент — не ноль и не равен предыдущему элементу. Сравнить максимальное число с текущим числом и заменить максимальное на текущее, если текущее больше максимального. Установить текущее число в 1.

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

i = -1 k = -1 e = 1 max = 1 while i != 0: i = int(input()) if i == k: e += 1 else: if e > max: max = e e = 0 k = i print(max) 

Вот список цифр, при которых результат неверный. Выводит 3 вместо 4…

Отредактировано Straik32423 (Июль 19, 2016 13:37:06)

Источник

Python-сообщество

[RSS Feed]

  • Начало
  • » Центр помощи
  • » Задача с pythontutor

#1 Июль 18, 2016 14:26:11

Straik32423 От: Ростов-на-Дону, Россия Зарегистрирован: 2016-05-18 Сообщения: 46 Репутация: 0 Профиль Отправить e-mail

Задача с pythontutor

Привет. Помогите решить задачу.
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу.

#2 Июль 18, 2016 15:33:16

Задача с pythontutor

Нужно две переменные: одна — под максимальное число равных элементов, другая — под текущее число равных элементов. И нужно ещё одну переменную под предыдущий элемент.

Берёшь каждый элемент, сравниваешь его с предыдущим и там три ситуации:
1) Элемент — ноль. Нужно сравнить максимальное число с текущим числом и заменить максимальное на текущее, если текущее больше максимального.
2) Элемент — не ноль и равен предыдущему элементу. Увеличить текущее число.
3) Элемент — не ноль и не равен предыдущему элементу. Сравнить максимальное число с текущим числом и заменить максимальное на текущее, если текущее больше максимального. Установить текущее число в 1.

Отредактировано py.user.next (Июль 18, 2016 15:50:06)

#3 Июль 19, 2016 13:35:03

Straik32423 От: Ростов-на-Дону, Россия Зарегистрирован: 2016-05-18 Сообщения: 46 Репутация: 0 Профиль Отправить e-mail

Задача с pythontutor

py.user.next
Нужно две переменные: одна — под максимальное число равных элементов, другая — под текущее число равных элементов. И нужно ещё одну переменную под предыдущий элемент.Берёшь каждый элемент, сравниваешь его с предыдущим и там три ситуации:1) Элемент — ноль. Нужно сравнить максимальное число с текущим числом и заменить максимальное на текущее, если текущее больше максимального.2) Элемент — не ноль и равен предыдущему элементу. Увеличить текущее число.3) Элемент — не ноль и не равен предыдущему элементу. Сравнить максимальное число с текущим числом и заменить максимальное на текущее, если текущее больше максимального. Установить текущее число в 1.

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

i = -1 k = -1 e = 1 max = 1 while i != 0: i = int(input()) if i == k: e += 1 else: if e > max: max = e e = 0 k = i print(max) 

Вот список цифр, при которых результат неверный. Выводит 3 вместо 4…

Отредактировано Straik32423 (Июль 19, 2016 13:37:06)

Источник

Оцените статью