1 2 3 4 5
import re s="H" for n in range(10): print "n = %d |"%n,s s=re.sub("(HAA|HH|H)|AAH|AA|A",lambda m:m.group(1)and"AH"or"HA",s)
1 2 3 4 5 6 7 8 9 10
n = 0 | H n = 1 | AH n = 2 | HAAH n = 3 | AHAH n = 4 | HAAHHAAH n = 5 | AHAHHA n = 6 | HAAHHAAHHA n = 7 | AHAHHAAHHA n = 8 | HAAHHAAHHAAHHA n = 9 | AHAHHAAHAHHA