band = {0:' '} pos = 0 n = 0 zustand = 'z0' kopfbewegung = None tt = {('z0',' '):('z1','I','R'), ('z0','I'):('z1','I','L'), ('z1',' '):('z0','I','L'), ('z1','I'):('z0','I','S')} # 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)]) anzI = len(Bandinhalt.replace(' ','')) print(Bandinhalt,anzI,n) PosInhalt = pos - min(sorted(band)) Position = ' '*PosInhalt+'^'+' '*(len(Bandinhalt)-PosInhalt-1) print(Position,pos)