def turing(r,p,e,T): r=list(r) T=[T[i:i+5] for i in range(0,len(T),5)] while 1: if p<0:r=[" "]+r;p=0 if p>=len(r):r+=[" "] try:t=next(t for t in T if t[:2]==e+r[p]) except: s = len([v for v in r if v == "1"]) return s if t[2]!=":":r[p]=t[2] p+=(t[3]=="D")-(t[3]=="G") if t[4]!=":":e=t[4] transitions ="A 1GBA1:DCB 1GCB1:GBC 1GDC1 DED 1DAD1:D:E 1GFE1 DA" print(turing("", 0, "A", transitions))