最近一段时间,在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列表获取元素,之后拼接成一篇文章,这样就形成了狗屁不通文章生成器。
效果展示:


一般来讲,我们都必须务必慎重的考虑考虑。 从这个角度来看, 现在,解决一天掉多少根头发的问题,是非常非常重要的。 所以, 我认为, 总结的来说, 我们一般认为,抓住了问题的关键,其他一切则会迎刃而解。 一天掉多少根头发,发生了会如何,不发生又会如何。 俾斯麦在不经意间这样说过,失败是坚忍的最后考验。这句话语虽然很短,但令我浮想联翩。 一天掉多少根头发因何而发生? 一般来讲,我们都必须务必慎重的考虑考虑。 莎士比亚在不经意间这样说过,意志命运往往背道而驰,决心到最后会全部推倒。带着这句话,我们还要更加慎重的审视这个问题: 经过上述讨论, 既然如此, 从这个角度来看, 一天掉多少根头发,发生了会如何,不发生又会如何。 在这种困难的抉择下,本人思来想去,寝食难安。 我们不得不面对一个非常尴尬的事实,那就是, 在这种困难的抉择下,本人思来想去,寝食难安。 所谓一天掉多少根头发,关键是一天掉多少根头发需要如何写。 这种事实对本人来说意义重大,相信对这个世界也是有一定意义的。 经过上述讨论, 史美尔斯说过一句富有哲理的话,书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者。这启发了我, 本人也是经过了深思熟虑,在每个日日夜夜思考这个问题。 一般来说, 所谓一天掉多少根头发,关键是一天掉多少根头发需要如何写。 每个人都不得不面对这些问题。 在面对这种问题时, 现在,解决一天掉多少根头发的问题,是非常非常重要的。 所以, 本人也是经过了深思熟虑,在每个日日夜夜思考这个问题。


Last modification:May 11th, 2021 at 09:48 pm