美文网首页
Python小项目——用Python写诗

Python小项目——用Python写诗

作者: 造数科技 | 来源:发表于2017-06-30 14:31 被阅读0次

    思路很简单:从唐诗三百首中获取最常使用的汉字,然后在这些汉字中拿出一些组成新“诗”。

    看看出来了什么诗

    空女寒国乐,已照柳落声。
    自夫新同难,鼓一何看过。


    百将多如物,小生云夕转。
    歌间下是露,干声已此剑。


    闻看夜问此,草仙还云商。
    剑大愁老成,可茫松西晚。

    小伙伴看出什么名堂来了吗?


    看看代码

    import re
    from collections import Counter
    
    dic = []
    data = open('tangshi.txt','r')  #下载的唐诗三百首
    
    for i in data.readlines():
        dic.append(i.strip().replace(':','').replace(',','').replace('。','').replace('?','').replace('!','').replace('[','').replace(']',''))  #去除一些不用的符号
    word = ''.join(dic)
    word_str = re.sub(r"(?<=\w)","",word)  #把所有文字分开
    word_list = list(word_str)
    a = [v for v in word_list if not str(v).isdigit()]  #删除数字
    
    c = Counter(a)
    s = c.most_common(300)  #取了前300个最常见的汉字
    tangshi = []
    for i in s:
        tangshi.append(i[0])
    
    import random
    i = random.sample(tangshi,20)  #从300个最常见的汉字中拿出20个
    print(i[0]+i[1]+i[2]+i[3]+i[4]+','+i[5]+i[6]+i[7]+i[8]+i[9]+'。'+'\n'+i[10]+i[11]+i[12]+i[13]+i[14]+','+i[15]+i[16]+i[17]+i[18]+i[19]+'。') 
    

    可以看出,这样存在很多问题。

    1、诗句没有主题。让人摸不到头脑,可以考虑把相似风格的汉字归类再生成
    2、诗句不押韵。可以考虑把对应的押韵汉字组合起来再调用


    你是否有更好的想法呢?或者你“写”了那些有意思的诗词呢?
    说出来一起交流吧!

    造数 - 欢迎一起探讨爬虫的故事

    相关文章

      网友评论

          本文标题:Python小项目——用Python写诗

          本文链接:https://www.haomeiwen.com/subject/dbabcxtx.html