#!/usr/bin/python # -*- coding: utf-8 -*- """Minimal Markov text generator.""" import sys import random def pairs(seq): seq = iter(seq) last = seq.next() for item in seq: yield last, item last = item def index(pairs): return dict((k, [t for t in pairs if t[0] == k]) for k in set(t[0] for t in pairs)) if __name__ == '__main__': model = index(list(pairs(sys.stdin.read()))) c = model.keys()[0] for ii in range(1024): sys.stdout.write(c) _, c = random.choice(model[c])