But de nos automates: Reconnaitre un langage
Il ressemble beaucoup au précédent mais il ne reconnait pas du tout le même langage !
On re
a1 = [{"a":0,"b":1},{"a":0,"b":1}] f1 = [1] a2 = [{"a":1,"b":0},{"a":0,"b":1}] f2 = [1] def accepte(mot,a,f): e = 0 for c in mot: e = a[e][c] return e in f # accepte("abbb",a1,f1) donne True # accepte("abbaabb",a2,f2) donne True def details(mot,a,f): e = 0 for c in mot: print("Etat "+ str(e)) e = a[e][c] print("Lettre "+c+" >") if e in f: return str(e)+ " = etat final" return str(e)+" = pas final"