#Translate Bazeries integer key into english and into Bazeries keysquare word1 = ['one','two','three','four','five','six','seven','eight','nine'] word2 = ['eleven','twelve','thirteen','fourteen','fifteen','sixteen',\ 'seventeen','eighteen','nineteen'] word3 = ['error','twenty','thirty','forty','fifty','sixty','seventy','eighty','ninety'] alpha="abcdefghiklmnopqrstuvwxyz" def integer_to_phrase(numb): numb = [int(d)-1 for d in str(numb)] word_len = len(numb) if -1 in numb or word_len > 6 : return "Error" to_go = word_len text = "" while to_go > 0: if to_go in [6,4,3,1]: text += word1[ numb[-to_go]] else: if numb[-to_go] == 0: to_go -= 1 text += word2[ numb[-to_go]] else: text += word3[ numb[-to_go]] if to_go is 4: text += "thousand" elif to_go in [3,6]: text += "hundred" to_go -= 1 return text def phrase_to_keysquare(text): key = [ ] for c in text: if c not in key: key.append(c) for c in alpha: if c not in key: key.append(c) return key #text translation s = raw_input("Enter number to translate into words: ") n = int(s) text = integer_to_phrase(n) print "Text translation is: ",text key = phrase_to_keysquare(text) print "Key is: " for n in range(0,25,5): print ("".join(key[n:n+5])).upper()