Sou iniciante na linguagem Python e estou participando de uma entrevista para estágio e foi proposto o seguinte desafio.
Criar uma função que receba um número qualquer e encontre o maior número formado por dígitos consecutivos dentro do número passado.
exemplo:
ENTRADA: 53590
SAÍDA: 90
ENTRADA: 67400985678
SAÍDA: 5678
ENTRADA: 90123846958
SAÍDA: 90123
Consegui até o momento fazer o seguinte: Porém quando o numero tem zero da bug no meu código.
Quando jogo os valores acima no primeiro caso apare apenas o 9 e no último caso a sequencia aparece apena 123. Alguém pode me ajudar????
num = int(input("Digite um número: "))
max = 0
previousDigit = 0
actual = 0
actualSequence = 0
for a in str(num):
actual = int(a);
if (previousDigit == 0):
actualSequence = actual
else:
if (actual - previousDigit) == 1:
actualSequence = int(str(actualSequence) + str(actual))
else:
if max < actualSequence:
max = actualSequence
actualSequence = actual
previousDigit = actual
if max < actualSequence:
max = actualSequence
print(max)
Pergunta
Anderson Clayton Oliveira Silva
Boa tarde.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.