Cześć, mam pracę domową o następującej treści:
Liczba ciekawacyfrowo, to co najmniej dwucyfrowa liczba naturalna, w której każde dwie cyfry stojące bezpośrednio obok siebie są różne. Na przykład liczba 34542 jest ciekawacyfrowo, a liczba 14483 nie jest ciekawacyfrowo.
Napisz program, który wypisze długość (liczbę wyrazów) najdłuższego podciągu stojących obok siebie liczb ciekawocyfrowych w tym ciągu dla przedziału (10,10000)
Do tej pory udało mi się sklecić coś takiego:
from random import randint
a=10
b=10000
n=(int(input("Ile jest liczb? ")))
t=[]
for i in range (n):
t.append(randint(a,b))
print(t)
def ciekawacyfrowo(t):
k=0
d=len(t)
while k<d:
if (t[k])==(t[k+1]):
return False
else:
k=k+1
return True
print(ciekawacyfrowo(t))
i=0
dł=1
dł_max=1
while (i<n-1):
if ciekawacyfrowo(n):
dł=dł+1
else:
if(dł_max<dł):
dł_max=dł
dł=1
i=i+1
print(max(dł_max,dł))
Problem stanowi jednak niezrozumiały błąd:
if (t[k])==(t[k+1]):
IndexError: list index out of range
Podejrzewam jakieś niedokładności w użyciu zmiennych t i n oraz w samej nowo definiowanej funkcji :/
Za wszelkie wskazówki z góry dziękuję