最近看到github上的狗屁不通文章生成器,深受啟發,決定用python實現乙個野獸發言生成器,目前是0.1.0版本,只包括了簡單的命令列。
import sys
from numpy import random
defarticle_create
(out,notion,concate,idiom,tit,number)
: notion_list=notion.readlines(
) concate_list=concate.readlines(
) idiom_list=idiom.readlines(
) result=tit+
'\n'
notion_flag=
0while
len(result)
seed=random.randn(
)if seed
: result=result+tit
notion_flag=
1elif seed
and notion_flag==1:
nseed=random.randint(0,
len(notion_list)
) curr_n=notion_list[nseed]
result=result+curr_n
notion_flag=
0elif seed<1:
iseed=random.randint(0,
len(idiom_list)
) curr_i=idiom_list[iseed]
result=result+curr_i
notion_flag=
1elif seed<2:
cseed=random.randint(0,
len(concate_list)
) curr_c=concate_list[cseed]
result=result+curr_c
notion_flag=
1elif seed<3:
result+=
'\n'
notion_flag=
0 out.write(result)
defmain
(ar**)
:
word_num=
int(ar**[1]
) title=ar**[2]
try:
article_obj=
open
('output.txt'
,'wt'
)try
: notions_obj=
open
('notions.txt'
,'rt'
)try
: concate_obj=
open
('concate.txt'
,'rt'
)try
: idioms_obj=
open
('idioms.txt'
,'rt'
) article_create(article_obj,notions_obj,concate_obj,idioms_obj,title,word_num)
idioms_obj.close(
)except exception as err:
print
(err)
concate_obj.close(
)except exception as err:
print
(err)
notions_obj.close(
)except exception as err:
print
(err)
article_obj.close(
)except exception as err:
print
(err)
if __name__==
"__main__"
: main(sys.ar**)
命令輸入:
txt輸出:
通過先序和中序陣列生成後序陣列
題目 已知一棵二叉樹所有的節點值都不同,給定這棵樹正確的先序和中序陣列,不要重建整棵樹,而是通過這兩個陣列直接生成正確的後序陣列。基本思路 根據當前的先序和中序陣列,設定後序陣列最右邊的值,然後劃分出左子樹的先序 中序陣列,以及右子樹的先序 中序陣列,先根據右子樹的劃分設定好後序陣列,再根據左子樹的...
通過先序和中序陣列生成後序陣列
通過先序和中序陣列生成後序陣列 給出一棵二叉樹的先序和中序陣列,通過這兩個陣列直接生成正確的後序陣列。輸入描述 第一行乙個整數 n,表示二叉樹的大小。第二行 n 個整數 a i,表示二叉樹的先序遍歷陣列。第三行 n 個整數 b i,表示二叉樹的中序遍歷陣列。輸出描述 輸出一行 n 個整數表示二叉樹的...
更具先序 中序遍歷生成二叉樹
definition for binary tree struct treenode class solution 對於中序遍歷,根節點左邊的節點位於二叉樹的左邊,根節點右邊的節點位於二叉樹的右邊 利用上述這點,對二叉樹節點進行歸併 for int i 0 i for int i gen 1 i 和...