У тебя здесь нет ошибки?
def inc(s, ab='abcdef'):
if not s:
return ''
x = (ab.index(s[-1]) + 1) % len(ab)
return (s[:-1] if x else inc(s[:-1])) + ab[x]
while True:
string = inc("abcd")
print(string)Результат выполнения:
В переменной data.traveledold всегда ноль, незнаю вообще зачем она тут.
data.traveled возвращает число пройденного расстояния