f = file('/usr/share/dict/words') words = [] for i in f: words.append(i.strip().lower()) def find(key, words, n): bs = 0 s = 0 t = n-1 while s <= t: p = (s + t)/2 print p, words[p] if key < words[p]: t = p - 1 elif key > words[p]: s = p + 1 else: print 'found in %d' % p return print 'not found' while 1: w = raw_input('word? ') if not w: break find(w, words, len(words))