最近一段时间,在GitHub上面突然出现了一个特别火的python开源项目,只要输入标题就可以生成一篇长长的文章。正在学习Python的我打算看一看这其中的创意。虽然只有短短50行源码,但是还是十分具有创意的。
源码:
import os, re
import random,readJSON
data = readJSON.读JSON文件("data.json")
名人名言 = data["famous"] # a 代表前面垫话,b代表后面垫话
前面垫话 = data["before"] # 在名人名言前面弄点废话
后面垫话 = data['after'] # 在名人名言后面弄点废话
废话 = data['bosh'] # 代表文章主要废话来源
xx = "学生会退会"
重复度 = 2
def 洗牌遍历(列表):
global 重复度
池 = list(列表) * 重复度
while True:
random.shuffle(池)
for 元素 in 池:
yield 元素
下一句废话 = 洗牌遍历(废话)
下一句名人名言 = 洗牌遍历(名人名言)
def 来点名人名言():
global 下一句名人名言
xx = next(下一句名人名言)
xx = xx.replace( "a",random.choice(前面垫话) )
xx = xx.replace( "b",random.choice(后面垫话) )
return xx
def 另起一段():
xx = ". "
xx += "\r\n"
xx += " "
return xx
if __name__ == "__main__":
xx = input("请输入文章主题:")
for x in xx:
tmp = str()
while ( len(tmp) < 6000 ) :
分支 = random.randint(0,100)
if 分支 < 5:
tmp += 另起一段()
elif 分支 < 20 :
tmp += 来点名人名言()
else:
tmp += next(下一句废话)
tmp = tmp.replace("x",xx)
print(tmp)
除了源码之外,还存在一个data.json文件,里面是由字典结构构成的素材
{
"famous":[
"爱迪生a,天才是百分之一的勤奋加百分之九十九的汗水。b",
"查尔斯·史a,一个人几乎可以在任何他怀有无限热忱的事情上成功。b",
....
],
"bosh":[
"现在, 解决x的问题, 是非常非常重要的. 所以, ",
"我们不得不面对一个非常尴尬的事实, 那就是, ",
....
],
"after":[
"这不禁令我深思. ",
"带着这句话, 我们还要更加慎重的审视这个问题: ",
....
],
"before":[
"曾经说过",
"在不经意间这样说过",
....
]
}
famous 里面收集了很多名人语录, 里面的关键字”a”和”b” 将分别被 before 和 after列表中的内容替换,这样处理后句子看起来具有逻辑性
bosh里面是各种各样的的废话, 里面关键字”x”最后会用标题替换,这样会让人感觉,这篇文章还是和标题有那么一丢丢联系的。
这样,通过靠不断随机从famous、bosh列表获取元素,之后拼接成一篇文章,这样就形成了狗屁不通文章生成器。
效果展示:
一般来讲,我们都必须务必慎重的考虑考虑。 从这个角度来看, 现在,解决一天掉多少根头发的问题,是非常非常重要的。 所以, 我认为, 总结的来说, 我们一般认为,抓住了问题的关键,其他一切则会迎刃而解。 一天掉多少根头发,发生了会如何,不发生又会如何。 俾斯麦在不经意间这样说过,失败是坚忍的最后考验。这句话语虽然很短,但令我浮想联翩。 一天掉多少根头发因何而发生? 一般来讲,我们都必须务必慎重的考虑考虑。 莎士比亚在不经意间这样说过,意志命运往往背道而驰,决心到最后会全部推倒。带着这句话,我们还要更加慎重的审视这个问题: 经过上述讨论, 既然如此, 从这个角度来看, 一天掉多少根头发,发生了会如何,不发生又会如何。 在这种困难的抉择下,本人思来想去,寝食难安。 我们不得不面对一个非常尴尬的事实,那就是, 在这种困难的抉择下,本人思来想去,寝食难安。 所谓一天掉多少根头发,关键是一天掉多少根头发需要如何写。 这种事实对本人来说意义重大,相信对这个世界也是有一定意义的。 经过上述讨论, 史美尔斯说过一句富有哲理的话,书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者。这启发了我, 本人也是经过了深思熟虑,在每个日日夜夜思考这个问题。 一般来说, 所谓一天掉多少根头发,关键是一天掉多少根头发需要如何写。 每个人都不得不面对这些问题。 在面对这种问题时, 现在,解决一天掉多少根头发的问题,是非常非常重要的。 所以, 本人也是经过了深思熟虑,在每个日日夜夜思考这个问题。