造数 - 今天教你用Python 来随机写诗
思路很简单:从唐诗三百首中获取最常使用的汉字,然后在这些汉字中拿出一些组成新“诗”。
看看出来了什么诗
空女寒国乐,已照柳落声。
自夫新同难,鼓一何看过。
百将多如物,小生云夕转。
歌间下是露,干声已此剑。
闻看夜问此,草仙还云商。
剑大愁老成,可茫松西晚。
小伙伴看出什么名堂来了吗?
代码在此:
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、诗句不押韵。可以考虑把对应的押韵汉字组合起来再调用
你是否有更好的想法呢?或者你“写”了那些有意思的诗词呢?
说出来一起交流吧!造数 - 欢迎一起探讨爬虫的故事