# automaton by transition table # alphabet: {a,b,c} tbl = [None, [2, 1, 1], # state = 1 [1, 3, 1], # state = 2 'accept' # state = 3 ] text = raw_input('enter text: ') state = 1 for c in text: x = ord(c) - ord('a') state = tbl[state][x] if tbl[state] == 'accept': print 'match' break