In [2]:
import random

def win():
    print('恭喜你,你赢了')
    
def lose():
    print('很遗憾,你输了')
    
def gameover():
    print('游戏结束')
    
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 poem_robot(file_name):
    with open(file_name) as fh:
        text = fh.read()
    poems = text.split()
    poem = random.choice(poems)
    chs = get_ch_table(text.replace(r'\n', ''))

    guess_ch_table = [ch for ch in poem]
    while len(guess_ch_table) < 12:
        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,12,3):
        print(guess_ch_table[i], guess_ch_table[i+1],guess_ch_table[i+2])
    
    return poem

def game1():
    print('点字成语')
    
def game2():
    filename = r'd:\temp\poems_correct.txt'
    score = 10
    while score >= 0:
        real_poem = poem_robot(filename)
        answer_poem = input('请输入猜测诗词,回车结束,直接回车表示退出游戏:')
        if answer_poem == real_poem:
            print('答对了,加十分')
            score += 10
            print('你当前的分数是:', score)
            if score == 100:
                win()
                return
        elif answer_poem == '':
            print('退出游戏。')
            print('你最后的分数是:', score)
            return
        else:
            score -= 10
            print('答错了,减十分')
            print('成语其实是:', real_poem)
            print('你当前的分数是:', score)
    else:
        lose()
        return

def main():
    choice=int (input('请输入你的选择'))
    if choice== 1:
        game1()
    elif choice==2:
        game2()
    elif choice==3:
        gameover()
        
main()


请输入你的选择2
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-2-ad677406c9e5> in <module>()
     75         gameover()
     76 
---> 77 main()

<ipython-input-2-ad677406c9e5> in main()
     71         game1()
     72     elif choice==2:
---> 73         game2()
     74     elif choice==3:
     75         gameover()

<ipython-input-2-ad677406c9e5> in game2()
     44     score = 10
     45     while score >= 0:
---> 46         real_poem = poem_robot(filename)
     47         answer_poem = input('请输入猜测诗词,回车结束,直接回车表示退出游戏:')
     48         if answer_poem == real_poem:

<ipython-input-2-ad677406c9e5> in poem_robot(file_name)
     18 
     19 def poem_robot(file_name):
---> 20     with open(file_name) as fh:
     21         text = fh.read()
     22     poems = text.split()

FileNotFoundError: [Errno 2] No such file or directory: 'd:\\temp\\poems_correct.txt'

In [ ]: