野獸先軰发言生成器(v 0.1.0)

python 专栏收录该内容
44 篇文章 1 订阅

python实现野兽发言生成器(version 0.1.0)

源起

最近看到github上的狗屁不通文章生成器,深受启发,决定用python实现一个野兽发言生成器,目前是0.1.0版本,只包括了简单的命令行。

带🐎

import sys
from numpy import random

def article_create(out,notion,concate,idiom,tit,number):
	notion_list=notion.readlines()
	concate_list=concate.readlines()
	idiom_list=idiom.readlines()
	result=tit+'\n'
	notion_flag=0
	 while len(result)<number:
  		seed=random.randn()
		  if seed<-2:
  			 result=result+tit
   			notion_flag=1
		  elif seed<-1 and notion_flag==1:
   			nseed=random.randint(0,len(notion_list))
   			curr_n=notion_list[nseed]
  			result=result+curr_n
  			notion_flag=0
		  elif seed<1:
  			iseed=random.randint(0,len(idiom_list))
   			curr_i=idiom_list[iseed]
  			result=result+curr_i
  			notion_flag=1
  		elif seed<2:
  			cseed=random.randint(0,len(concate_list))
  			curr_c=concate_list[cseed]
  			result=result+curr_c
  			notion_flag=1
  		elif seed<3:
   			result+='\n'
   			notion_flag=0
   	out.write(result)
def main(argv):   
 	word_num=int(argv[1])
 	title=argv[2]
 	try:  
  		article_obj=open('output.txt','wt')
  		try:
   			notions_obj=open('notions.txt','rt')
   			try:
    			concate_obj=open('concate.txt','rt')
    			try:
     				idioms_obj=open('idioms.txt','rt')
     				article_create(article_obj,notions_obj,concate_obj,idioms_obj,title,word_num)
     				idioms_obj.close()
    			except Exception as err:
     				print(err)
     			concate_obj.close()
   		except Exception as err:
    			print(err)
    		notions_obj.close()
  	except Exception as err:
   		print(err)
  	article_obj.close()
  except Exception as err:
  	print(err)
if __name__=="__main__":	
	main(sys.argv)

运行结果

命令输入:
在这里插入图片描述
txt输出:
在这里插入图片描述

规划与总结

目前有两个问题:一是概率的分布需要调整(比如分段过多),二是语料库贫乏。
计划在下一个版本开发出gui,然后再优化随机算法。

  • 4
    点赞
  • 2
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值