猫史档案馆


【Python作品分享】诗词大会—飞花令【作品秀】

用户:倔强的熔岩龙qCPb倔强的熔岩龙qCPb查看:0 回复:2 评论:0 创建时间:2019-07-16T16:17:00


【作品展示】

center_image

 

【作品介绍】

根据诗词大会飞花令创作小游戏,以游戏带动孩子学习诗词的兴趣。

 

【作品源代码】

import re,random


def contain_digital(content):

    pattern = re.compile('[0-9]+')
    match = pattern.findall(content)
    if match:
        return True
    else:
        return False


file = open('C:\\Users\\lczx3teacher\\Desktop\\泗水培训\\唐诗三百首.txt')

# 以列表存储诗[诗人、标题、诗句]
shi_list = []
shi = []
shiren = ''
title = ''
shiju = ''
# 每次找到一个诗句,则可以得1分
score = 0
# 每次没有找到相应的诗句,则减1分,0分则游戏结束
blood = 3
# 记录每次找到几个符合条件的诗句
count = 0

# 分析每一行
for line in file.readlines():
    # 如果字符串里面不是全都是字符,也就是包含数字,说明是标题行
    if contain_digital(line):
        shi = [shiren, title, shiju]
        shi_list.append(shi)
        shiju = ''
        line = line[3:-1].split(":")
        shiren = line[0]
        title = line[-1]
    else:
        shiju = (shiju + line)

file.close()
key = input('请输入你想查找包含哪个字的诗句')
while key:
    for shi in shi_list:
        if key in shi[2]:
            for meiyiju in shi[2].split("\n"):
                if key in meiyiju:
                    shiren = shi[0]
                    title = shi[1]
                    count =count+1
                    print(shiren, title, meiyiju)
    if count==0:
        blood=blood-1
        print("这次没有找到,血量-1,当前血量是",blood)
        if  blood==0:
            print("血量掉光啦,游戏结束")
            break
    else:
        score=score+count
        print("本轮得分是",count,"当前总分是",score)
        count=0
    key = input("请输入你想查找包含哪个字的诗句")

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
鸽子ECYRAZ鸽子ECYRAZ

点个赞emotion_编程猫_嗨起来

点赞0


评论


爱因斯坦的弟子爱因斯坦的弟子

ESAY的代码,不过你的作品下面有一个文件吧

点赞0


评论