plumrx 的博客

Plumrx

狗屁不通文章生成器

闲来无事,突发奇想,遂做了一个“狗屁不通文章生成器”玩玩。

分析文章构成

想起学生时代写作文,无非就是几个套路:引经据典、修辞手法或是空话套话。所以我打算用名人名言+空话套话的构成,生成一片文章。

1. 收集名人 & 名言

他们谁说的,说的什么,是不是他说的都不重要,反正拼起来就成。上学的时候,想不起来对应人名,不也都是瞎编的吗?中文都是鲁迅说的,英文都是卡耐基。所以这里我也准备随意拼凑,玩的就是一个“狗屁不通”。

分别将名人和名言存放在两个键值对中,以备后用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
   "famous_people": [
"鲁迅",
"卡耐基",
"鬼谷子",
"爱迪生",
"马克思",
"恩格斯",
"老子",
"李白",
"杜甫",
"曹操"
],
"famous_words": [
"志不强者智不达。",
"天行健,君子以自强不息。",
"伟人之所以伟大,是因为他与别人共处逆境时,别人失去了信心,他却下决心实现自己的目标。环境永远不会十全十美,消极的人受环境控制,积极的人却控制环境。",
"不求与人相比,但求超越自己,要哭就哭出激动的泪水,要笑就笑出成长的性格!",
"生命不是要超越别人,而是要超越自己。",
"成大事不在于力量多少,而在能坚持多久。",
"上帝从不抱怨人们的愚昧,人们却抱怨上帝的不公平。",
"学习时的苦痛是暂时的,未学到的痛苦是终生的。",
"环境永远不会十全十美,消极的人受环境控制,积极的人却控制环境。",
"只有不断找寻机会的人才会及时把握机会,越努力,越幸运。",
"世上只有想不通的人,没有走不通的路。",
"伟人之所以伟大,是因为他与别人共处逆境时,别人失去了信心,他却下决心实现自己的目标。",
"生活不是林黛玉,不会因为忧伤而风情万种。",
"人不怕走在黑夜里,就怕心中没有阳光。",
"幸运之神的降临,往往只是因为你多看了一眼,多想了一下,多走了一步。",
"积极的人在每一次忧患中都看到一个机会,而消极的人则在每个机会都看到某种忧患。",
"任何的限制,都是从自己的内心开始的。",
"在一个崇高的目标支持下,不停地工作,即使慢,也一定会获得成功。",
"卓越的人一大优点是:在不利与艰难的遭遇里百折不挠。",
"伟人与常人最大的差别就在于珍惜时间。",
"成功的关键在于我们对失败的反应。",
"生命对某些人来说是美丽的,这些人的一生都为某个目标而奋斗。",
"即使行动导致错误,却也带来了学习与成长;不行动则是停滞与萎缩。",
"顽强的毅力改变可以征服世界上任何一座高峰。",
"机遇对于有准备的头脑有特别的亲和力。",
"人的生命似洪水在奔流,不遇着岛屿、暗礁,难以激起美丽的浪花。",
"要改变命运,首先改变自己。",
"我们若已接受最坏的,就再没有什么损失。",
"在生活中,我跌倒过。我在嘲笑声中站起来,虽然衣服脏了,但那是暂时的,它可以洗净。",
"放弃该放弃的是无奈,放弃不该放弃的是无能;不放弃该放弃的是无知,不放弃不该放弃的是执着。",
"人的一生没有一帆风顺的坦途。当你面对失败而优柔寡断,当动摇自信而怨天尤人,当你错失机遇而自暴自弃的时候你是否会思考:我的自信心呢?其实,自信心就在我们的心中。",
"失去金钱的人损失甚少,失去健康的人损失极多,失去勇气的人损失一切。",
"只要下定决心克服恐惧,便几乎能克服任何恐惧。因为,请记住,除了在脑海中,恐惧无处藏身。",
"害怕时,把心思放在必须做的事情上,如果曾经彻底准备,便不会害怕。",
"去做你害怕的事,害怕自然就会消失。",
"最可怕的敌人,就是没有坚强的信念。",
"只要持续地努力,不懈地奋斗,就没有征服不了的东西。"
],

2. 空话套话

就像英语作文中的” as far as I am concerned “,倒也不是想真想表达自己的啥观点,主要是这句套话它占的字数多,哈哈哈,懂得都懂。

空话套话,不能完全生搬硬套,更要切合主题,所以在一些地方替换为文章主题更加合适,这里用 x 表示,后期替换为主题。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
   "bosh": [
"既然如此, ",
"我们不妨可以这样来想: ",
"这是不可避免的. ",
"现在, 解决x的问题, 是非常非常重要的. 所以, ",
"我们不得不面对一个非常尴尬的事实, 那就是, ",
"x的发生, 到底需要如何做到, 不x的发生, 又会如何产生. ",
"而这些并不是完全重要, 更加重要的问题是, ",
"x, 到底应该如何实现. ",
"带着这些问题, 我们来审视一下x. ",
"所谓x, 关键是x需要如何写. ",
"我们一般认为, 抓住了问题的关键, 其他一切则会迎刃而解.",
"问题的关键究竟为何? ",
"x因何而发生?",
"每个人都不得不面对这些问题. 在面对这种问题时, ",
"一般来讲, 我们都必须务必慎重的考虑考虑. ",
"要想清楚, x, 到底是一种怎么样的存在. ",
"了解清楚x到底是一种怎么样的存在, 是解决一切问题的关键.",
"就我个人来说, x对我的意义, 不能不说非常重大. ",
"本人也是经过了深思熟虑,在每个日日夜夜思考这个问题. ",
"x, 发生了会如何, 不发生又会如何. ",
"在这种困难的抉择下, 本人思来想去, 寝食难安.",
"生活中, 若x出现了, 我们就不得不考虑它出现了的事实. ",
"这种事实对本人来说意义重大, 相信对这个世界也是有一定意义的.",
"我们都知道, 只要有意义, 那么就必须慎重考虑."
]

3. 起承转合

为了避免文章过于“生硬”,可以添加一些句子间衔接的语句。前缀和后缀,一句选择一样即可。

1
2
3
4
5
6
7
8
9
10
11
   "before": [
"曾经说过",
"曾经提到过",
"说过一句富有哲理的话",
"曾说过这样一句话"
],
"after": [
"这不禁令我深思。",
"这启发了我。",
"这句话看似简单,但其中的阴郁不禁让人深思。"
]

4. 文章主题

所需文章主题,可自定义,输入对应主题,即可生成一篇文章。

1
主题 = input("请输入文章主题:")

5. 组装文章结构

首先,规定文章字数不少于 800 字;
其次,规定文章段落分割为空行;
最后,将生成的文章内容赋值到对应变量中去。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def create_text():
text_before = random.choice(前缀)
text_people = random.choice(名人)
text_word = random.choice(名言)
text_after = random.choice(后缀)
text_bosh = random.choice(空话)

text1 = text_before + text_people + text_word + text_bosh
text2 = text_people + text_word + text_after + text_bosh
text_list=[text1,text2]
return random.choice(text_list)

while len(文章) < 800:
times = random.randint(0, 100)
if times < 5:
文章 = 文章 + "\n\n" # 换行,自然段

# 文章结构:前缀+名人名言+后缀+废话 (前缀/后缀 二选一)
else:
文章 = 文章 + create_text()

文章=文章.replace('x',主题)

6. 将文章内容,写进对应文件中去

对应文件操作三部曲:打开文件、写文件、关闭文件。

1
2
3
4
5
f = open("狗屁不通文章.txt", 'w')

f.write(文章)

f.close()

结果展示

1
2
3
4
5
请输入文章主题:plumrx

---------节选一段生成的文章:----------

就我个人来说, plumrx对我的意义, 不能不说非常重大. 鲁迅去做你害怕的事,害怕自然就会消失。这启发了我。plumrx, 到底应该如何实现. 曾经说过曹操人的生命似洪水在奔流,不遇着岛屿、暗礁,难以激起美丽的浪花。plumrx因何而发生?