Python小项目——用Python写诗

Python小项目——用Python写诗_第1张图片

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

看看出来了什么诗

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


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


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

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


Python小项目——用Python写诗_第2张图片

看看代码

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写诗)