神仙项目!狗屁不通 Python 文章生成器

前几天,有个Python 小项目在 Github 上火了,上了每日趋势榜榜首。

项目名字叫做 BullshitGenerator狗屁不通文章生成器。项目用 Python 实现,核心代码不过 50 几行,加上数据也不到 200 行。

所以这到底是一个什么神仙项目,能在短短两周多时间就收到了 7k 多 stars?

这还得从一个知乎问题说起:

有人提问说,学生会退会申请六千字怎么写?

显然,这是一个很魔幻的要求,想必也没人真的会去看内容。于是下面就有人给做了个神器,也就是这个项目,并生成一篇 6000 字的学生会退会申请:

全文实在太长,我就不全贴进来了。(反正也不会有人去看)

后来,又有人添砖加瓦,给项目加上了在线版本(地址见文末)。于是我也去试了一发:

矮马呀,这让人头皮炸裂的 PUNCHLINE!

再来试试:

虽说的确文如其名“狗屁不通”,但却让人感觉还有点微妙的迷之内涵呢……

看到这里,可能很多人会联想到自然语言处理深度学习等高大上的理论,觉得这是否又是某个 AI 框架的新试验?

然而有趣的点正在这里,这个用 Python 实现的小工具,其实完没全有太高的“技术含量”,相代的关码,想各必位也能看懂大个概(作者甚至很调皮地用了中文变量命名……):

import os, reimport 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)

就这么长。说白了,就是找了上百条名人名言,加上一堆前垫话、后垫话、废话,随机筛选,杂糅在一起,来个大杂烩,一篇文章就出炉了。

虽然简单(且并没有什么乱用),但围观的吃瓜群众看了后还是很嗨皮的:

可见,现实生活中这种狗屁不通的文章给大家留下了多大的阴影……

如果你也想玩一玩这个狗屁不通文章生成器,可以去 Github 下载项目运行,也可以上网页版进行体验(需将地址复制到浏览器中)。

参考链接:

[知乎]学生会退会申请六千字怎么写?- KE meng 的回答

https://www.zhihu.com/question/349794499/answer/873505410

狗屁不通文章生成器

https://github.com/menzi11/BullshitGenerator

网页版

https://suulnnka.github.io/BullshitGenerator/index.html

“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作 - 量子位

https://mp.weixin.qq.com/s/gp9eFeM5Q85pAazWDuG9_g

--------[无聊的彩蛋]--------

别说又臭又长的文章了,现在大家习惯了碎片化阅读,正常的文章也未必能仔细读完。我相信,项目的 7.8k stars,不少人压根没搞清这其实不是个 AI 项目,知乎的三万六千点赞里,大多数人肯定也没发现,其实作者贴的是近六万字而不是六千字(所以才会那么长)。

而读到这里的你,有没有注意到本文中有句话是故意语序颠倒的呢?

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值