band = {0:' '} pos = 0 n = 0 zustand = 'A' kopfbewegung = None tt = {('A',' '):('B','I','R'), ('A','I'):('C','I','L'), ('B',' '):('A',' ','L'), ('B','I'):('D',' ','L'), ('C',' '):('A','I','L'), ('C','I'):('A','I','S'), ('D',' '):('B','I','L'), ('D','I'):('E','I','R'), ('E',' '):('D',' ','R'), ('E','I'):('B',' ','R')} # print(n,band,pos,zustand) # DEBUG while kopfbewegung != 'S': n = n + 1 gelesen = band.get(pos,' ') (zustand,zuschreiben,kopfbewegung) = tt.get((zustand,gelesen),('F','F','S')) band.update({pos:zuschreiben}) if kopfbewegung == 'L': pos = pos - 1 elif kopfbewegung == 'R': pos = pos + 1 # print(n,band,pos,zustand) # DEBUG Bandinhalt = ''.join([band.get(x) for x in sorted(band)]) anz = len(Bandinhalt.replace(' ','')) print(Bandinhalt,anz,n) PosInhalt = pos - min(sorted(band)) Position = ' '*PosInhalt+'^'+' '*(len(Bandinhalt)-PosInhalt-1) print(Position,pos)