用Python写文章目录狗屁不通生成器:究竟能产出怎样奇特的内容?:模块、训练工具与代码示例

你是否曾好奇,仅需输入几个关键字,便可以轻而易举地制作出一篇看似“言之有物”的文章?这种所谓的“狗屁不通生成器”拥有这样的神奇功能,现在就让我们揭开它的神秘面纱!

发现生成器乐趣

我在网络上不经意间发现了一个令人啼笑皆非的生成器,立刻引起了我的兴趣。这个工具能迅速制造出看似颇有道理的文章。出于好奇,我萌生了自己编写一个类似有趣程序的念头。想象着自己能按照自己的想法创作文章,那种感觉一定很美妙。

import random as r
import json as j

构建生成器基础

def random_summon():
	"""生成函数"""
	filename='texts.json'
	
	#指定主题
	topic=input('请输入主题:')
	
	#指定篇幅
	n=input('请指定几句话(默认为100):')
	try:
		n=int(t)
	except:
		n=100
	
	#文档的标题
	t=r.randint(0,1)
	if t==1:
		f_name='%s%s%s'%('谈',topic,'.txt')
	else:
		f_name='%s%s%s'%('论',topic,'.txt')
	
	#加载文本的句子素材
	try:
		with open(filename) as f:
			sentences=j.load(f)
			l1=sentences[0]
			l2=sentences[1]
	except:
		with open(filename,'w') as f:
			txt=[['加油,奥利给!'],['马克思说过:“生活就像海洋,只'
			'有意志坚强的人,才能到达彼岸。”']]
			j.dump(txt,f)
		with open(filename) as f:
			sentences=j.load(f)
			l1=sentences[0]
			l2=sentences[1]
		
	#新建文档
	article=open(f_name,'w')
	#写作的主体循环
	i=0#控制循环次数
	ii=0#控制分段
	n_p=r.randint(8,18)#每段的句子数量
	
	while i<=n:
		ii+=1
		#从哪个素材库里面选句子
		#l1是其他的话,l2是名人名言
		zerone=r.randint(0,1)
		if zerone == 0:
			s_n=r.randint(0,len(l1)-1)
			sentence=l1[s_n].replace('a',topic)
			#这里,所有的a都被topic替换掉
			#因为录入素材的时候用的是a作为替换内容
		else:
			s_n=r.randint(0,len(l2)-1)
			sentence=l2[s_n].replace('a',topic)
		
		#分段及换行
		if ii == 1:

图片[1]-用Python写文章目录狗屁不通生成器:究竟能产出怎样奇特的内容?:模块、训练工具与代码示例-东山笔记

sentence='%s%s'%('t',sentence) elif ii == n_p: sentence='%s%s'%(sentence,'n') n_p=r.randint(8,18)#每段的句子数量 ii=0 #写进文章 article.write(sentence) i+=1 article.close() print('完成n')

为了构建这个生成器,我们需要依赖一些特定的组件。例如,Python中的基础组件是必不可少的,它们能够协助我们处理文本信息以及执行基础操作。借助这些组件,我们可以更加便捷地构建生成器的架构,并逐步提升其生成文章的能力。这些组件的支持使得我们距离成功更加接近。

训练工具登场

仅凭现有资源,所撰写的文章往往缺乏多样性。为了提升文章的丰富性和降低重复率,我们应当对存放文章素材的texts.json库进行扩展。然而,鉴于其采用json格式存储,我们无法直接进行内容粘贴,借助特定的工具进行更新。因此,相应的训练工具便应运而生。

import json as j

训练工具模块支撑

训练工具的运作离不开一些核心模块的支持。这些模块能够顺畅地处理json文件的读写及编辑等任务。它们协同工作,各司其职,使得训练工具在丰富素材库的过程中能更加高效,从而为生成后续文章提供更丰富的内容来源。

def train():
	"""训练函数"""
	filename='texts.json'
	
	while True:
		try:
			f=open(filename,'r')
		except:
		#素材库不在,就创建一个
			f=open(filename,'w')
			txt=[['加油,奥利给!'],['马克思说过:“生活就像海洋,只'
			'有意志坚强的人,才能到达彼岸。”']]
			j.dump(txt,f)
			f.close()
		else:
			sentence=input('说些什么吧,我会记住的哦~(输入q退出训练)n')
			sentences=j.load(f)
			if sentence == 'q':
				break
			else:
				yn=input('这是名人名言吗? Y/Nn')
				if yn == 'y' or 'Y':
					sentences[1].append(sentence)
				else:
					sentences[0].append(sentence)
	f.close()
	with open(filename,'w') as texts:
		j.dump(sentences,texts)

帮助函数可选配置

在制作生成器的过程中,我们会用到这样一个辅助函数。这个函数并非不可或缺,但它的存在确实能带来便利。它可以帮助核心功能更加顺畅地运行。在编写过程中,我们将一些辅助性的小功能整合进这个函数中,这样一来,主函数就能变得更加简洁。尽管这个函数并非,但加入它之后,代码的逻辑性会得到提升。

运行整合核心逻辑

def example():
	"""帮助函数"""
	print('举例:输入1n1n说些什么吧,我会记住的哦~(输入q退出训练)')
	print('坚持就是胜利。n这是名人名言吗? Y/NnN')
	print('说些什么吧,我会记住的哦~(输入q退出训练)nqn')
	print('举例:输入2n2n请输入主题:学习')
	print('请指定几句话(默认为100):120n完成n')

将之前编写的函数进行整合,编写一个执行函数。这个执行函数就如同一位指挥官,其任务是调度各个“士兵”。它依照既定的规则和顺序,依次调用先前定义好的函数,确保整个生成器系统能够有序运作。执行函数在整合与协调方面发挥着至关重要的作用。

你认为这个狗屁不通生成器在将来会有怎样的成长空间?若你觉得这篇内容对你有帮助,请记得点赞并转发!

© 版权声明
THE END
喜欢就支持一下吧
分享