Недавно изучаю Python .
Подскажите как выбрать из ряда цифр 32854. (Цифр строго 5)
1) ответить на вопрос есть ли в ряде 4 цифры , идущие подряд : да или нет .(ряд строго только из 4 цифр)
Если 3 цифры и ряд есть- это ответ нет.
2) вывести эти цифры из такого ряда .
В моем случае :
1) да
2) 2345
Заранее спасибо .
Upd. Разберу код одного из решений.
Сам код.
--------------------------------------
x = "32854"
y = sorted(list(x))
z = y[0]
a = [z]
for i in y[1:]:
if int(i) - 1 == int(z):
z = i
a.append(i)
if len(a) > 1:
print('Да')
print(''.join(a))
else:
print('Нет')
-------------------------------------------------
Мой разбор кода.
---------------------------
y = sorted(list(x)) Создаем сортированный список по возрастанию
z = y[0] Выводим первый элемент списка по возрастанию
a = [z] Создаем список состоящий из одного элемента z
for i in y[1:]: Поиск начиная со второго элемента
if int(i) - 1 == int(z): Если в списке второй элемент минус 1 =первому элементу, то:
z = i Первый элемент сортированного списка = значению i, (i=значение второго элемента списка y)
a.append(i) Присоединяем в списке a к первому элементу сортированного списка элемент равный i
Теперь тоже самое в числах для примера строки "32854"
y = sorted(list(x)) - 23458
z = y[0] - 2
a = [z] 2
for i in y[1:]: Поиск в списке 23458 начиная с тройки
if int(i) - 1 == int(z): Если 3-1 =2, то
z = i - z=3
a.append(i) 2,3
-------------------------------------
Подскажите все ли верно я понимаю?