In [1]:
#点字成诗游戏完整代码

import random

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

def lose():
    print(
        '''
           ======YOU LOSE=======
        
    
                

                   .-"      "-.
                  /            \
                 |              |
                 |,  .-.  .-.  ,|
                 | )(__/  \__)( |
                 |/     /\     \|
       (@_       (_     ^^     _)
  _     ) \_______\__|IIIIII|__/__________________________
 (_)@8@8{}<________|-\IIIIII/-|___________________________>
        )_/        \          /
       (@           `--------`
       
       
       
          ======YOU LOSE=======
        '''
    )
    return

In [2]:
def get_ch_table(line):
    ch_table = []
    for ch in line:
        if ch not in ch_table:
            ch_table.append(ch)
    return ch_table

In [3]:
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) < 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,3):
        print(guess_ch_table[i], guess_ch_table[i+1],guess_ch_table[i+2])
    
    return poem

In [4]:
def main():
    filename = r'd:\Python\诗词大全.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

if __name__ == '__main()__':
    main()

In [5]:
main()


余 襟 三
以 袅 十
娉 娉 袅
请输入猜测诗词,回车结束,直接回车表示退出游戏:娉娉袅袅十三余
答对了,加十分
你当前的分数是: 20
花 麦 花
白 质 春
稀 菜 雪
请输入猜测诗词,回车结束,直接回车表示退出游戏:麦花雪白菜花稀
答对了,加十分
你当前的分数是: 30
皆 弟 列
姊 兄 皇
妹 占 土
请输入猜测诗词,回车结束,直接回车表示退出游戏:姊妹弟兄皆列土
答对了,加十分
你当前的分数是: 40
雀 人 殊
边 见 时
我 调 恒
请输入猜测诗词,回车结束,直接回车表示退出游戏:时人见我恒殊调
答对了,加十分
你当前的分数是: 50
行 欲 将
白 舟 李
比 必 乘
请输入猜测诗词,回车结束,直接回车表示退出游戏:李白乘舟将欲行
答对了,加十分
你当前的分数是: 60
一 头 出
来 红 枝
杏 蓬 墙
请输入猜测诗词,回车结束,直接回车表示退出游戏:一枝红杏出墙来
答对了,加十分
你当前的分数是: 70
侧 莓 桥
身 苔 坐
西 映 草
请输入猜测诗词,回车结束,直接回车表示退出游戏:侧坐莓苔草映身
答对了,加十分
你当前的分数是: 80
处 来 居
问 笑 抱
何 从 客
请输入猜测诗词,回车结束,直接回车表示退出游戏:笑问客从何处来
答对了,加十分
你当前的分数是: 90
裁 唧 此
语 又 倾
唧 闻 重
请输入猜测诗词,回车结束,直接回车表示退出游戏:又闻此语重唧唧
答对了,加十分
你当前的分数是: 100

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

In [6]:
main()


迤 箔 逦
屏 珠 银
属 呕 开
请输入猜测诗词,回车结束,直接回车表示退出游戏:珠箔银屏迤逦开
答对了,加十分
你当前的分数是: 20
究 色 阶
春 耿 碧
映 自 草
请输入猜测诗词,回车结束,直接回车表示退出游戏:映阶碧草自春色
答对了,加十分
你当前的分数是: 30
当 共 烛
走 西 窗
会 剪 何
请输入猜测诗词,回车结束,直接回车表示退出游戏:何当共剪西窗烛
答对了,加十分
你当前的分数是: 40
一 银 里
青 白 鹂
螺 蒿 盘
请输入猜测诗词,回车结束,直接回车表示退出游戏:一青螺
答错了,减十分
诗词其实是: 白银盘里一青螺
你当前的分数是: 30
水 酒 村
今 郭 风
供 旗 山
请输入猜测诗词,回车结束,直接回车表示退出游戏:
退出游戏。
你最后的分数是: 30