In [1]:
import random
def win():   
    print(
        '''
           ======恭喜你,你赢了=======
        
    
                ."".    ."",
                |  |   /  /
                |  |  /  /
                |  | /  /
                |  |/  ;-._ 
                }  ` _/  / ;
                |  /` ) /  /
                | /  /_/\_/\
                |/  /      |
                (  ' \ '-  |
                 \    `.  /
                  |      |
                  |      |
          
          ======恭喜你,你赢了=======
        '''
    )
    return
    
def lose():
    print(
        '''
           ======YOU LOSE=======
        
    
                

                   .-"      "-.
                  /            \
                 |              |
                 |,  .-.  .-.  ,|
                 | )(__/  \__)( |
                 |/     /\     \|
       (@_       (_     ^^     _)
  _     ) \_______\__|IIIIII|__/__________________________
 (_)@8@8{}<________|-\IIIIII/-|___________________________>
        )_/        \          /
       (@           `--------`
       
       
       
          ======YOU LOSE=======
        '''
    )
    return
    
def get_ch_table(line):
    ch_table = []
    for ch in line:
        if ch not in ch_table:
            ch_table.append(ch)
    return ch_table

def idiom_robot(file_name):
    with open(file_name) as fh:
        text = fh.read()
    idioms = text.split()
    idiom = random.choice(idioms)
    chs = get_ch_table(text.replace(r'\n',''))
    
    guess_ch_table = [ch for ch in idiom]
    while len(guess_ch_table) < 9:
        ch = random.choice(chs)
        if ch not in guess_ch_table:
            guess_ch_table.append(ch)
    
    random.shuffle(guess_ch_table)
    for i in range(0,9):
        if((i+1)%3==0):
            print(guess_ch_table[i],end=' ')
            print()
        else:
            print(guess_ch_table[i],end=' ')
    return idiom

def main():
    filename = r'f:\python\诗词大全.txt'
    score = 10
    while score >= 0:
        real_idiom = idiom_robot(filename)
        answer_idiom = input('请输入猜测诗词,回车结束,直接回车表示退出游戏:')
        if answer_idiom == real_idiom:
            print('答对了,加十分')
            score += 10
            print('你当前的分数是:', score)
            if score == 100:
                win()
                return
        elif answer_idiom == '':
            print('退出游戏。')
            print('你最后的分数是:', score)
            return
        else:
            score -= 10
            print('答错了,减十分')
            print('诗句其实是:', real_idiom)
            print('你当前的分数是:', score)
    else:
        lose()
        return
main()


几 树 莺 
处 何 争 
早 若 暖 
请输入猜测诗词,回车结束,直接回车表示退出游戏:几处早莺争暖树
答对了,加十分
你当前的分数是: 20
雨 是 暖 
几 莺 早 
争 处 树 
请输入猜测诗词,回车结束,直接回车表示退出游戏:几处早莺争暖树
答对了,加十分
你当前的分数是: 30
魂 欲 路 
行 上 人 
蒿 断 挂 
请输入猜测诗词,回车结束,直接回车表示退出游戏:路上行人欲断魂
答对了,加十分
你当前的分数是: 40
早 魂 争 
处 几 暖 
树 只 莺 
请输入猜测诗词,回车结束,直接回车表示退出游戏:几处早莺争暖树
答对了,加十分
你当前的分数是: 50
雨 豚 时 
正 河 扇 
欲 上 是 
请输入猜测诗词,回车结束,直接回车表示退出游戏:正是河豚欲上时
答对了,加十分
你当前的分数是: 60
人 沧 只 
谁 初 如 
生 见 若 
请输入猜测诗词,回车结束,直接回车表示退出游戏:人生若只如初见
答对了,加十分
你当前的分数是: 70
是 春 处 
燕 一 行 
好 年 最 
请输入猜测诗词,回车结束,直接回车表示退出游戏:最是一年春好处
答对了,加十分
你当前的分数是: 80
有 时 破 
生 行 浪 
风 会 长 
请输入猜测诗词,回车结束,直接回车表示退出游戏:长风破浪会有时
答对了,加十分
你当前的分数是: 90
蒿 蒌 
 
短 芽 芦 
纷 地 满 
请输入猜测诗词,回车结束,直接回车表示退出游戏:蒌蒿满地芦芽短
答对了,加十分
你当前的分数是: 100

           ======恭喜你,你赢了=======
        
    
                ."".    ."",
                |  |   /  /
                |  |  /  /
                |  | /  /
                |  |/  ;-._ 
                }  ` _/  / ;
                |  /` ) /  /
                | /  /_/\_/                |/  /      |
                (  ' \ '-  |
                 \    `.  /
                  |      |
                  |      |
          
          ======恭喜你,你赢了=======