import random
import itertools

def anagram(x):
    l=[]
    word = random.choice(x)
    anagrams = itertools.permutations(word)
    for i in anagrams:
        l.append(''.join(i))
        anagram = random.choice(l)    #again randomly choose the anagram otherwise it would always contain the last permutation  
    print 'Colour word anagram: %s' %anagram
    guess = raw_input('Guess the colour word!\n')
    while guess!=word:
            guess = raw_input('Guess the colour word!\n')
    print 'Correct!'
アナグラムとは言葉遊びの一種で、単語やフレーズの文字を並べ替えて、元の文字をすべて一度だけ使って新しい単語やフレーズを作ることである。次のようなPythonプログラムを書きなさい。
  1) 与えられた単語リストから単語wをランダムに選ぶ、 
  2) w をランダムに並べ替える（つまり w のアナグラムを作る）、 
  3) アナグラムをユーザーに提示する。
  4) ユーザーに元の単語を推測させる対話型ループに入る。
  プログラムの実行例は次のようになる：

>>> import anagram
Colour word anagram: onwbr
Guess the colour word!
black
Guess the colour word!
brown
Correct!