欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

so easy!10行代碼寫個(gè)"狗屁不通"文章生成器功能

 更新時(shí)間:2020年01月19日 10:35:14   作者:liu志軍  
這篇文章主要介紹了通過10行代碼寫個(gè)"狗屁不通"文章生成器功能,真的超級簡單,感興趣的朋友跟隨腳本之家小編一起看看吧

前幾天,GitHub 有個(gè)開源項(xiàng)目特別火,只要輸入標(biāo)題就可以生成一篇長長的文章。

背后實(shí)現(xiàn)代碼一定很復(fù)雜吧,里面一定有很多高深莫測的機(jī)器學(xué)習(xí)等復(fù)雜算法

不過,當(dāng)我看了源代碼之后

這程序不到50行

盡管我有多年的Python經(jīng)驗(yàn),但我竟然一時(shí)也沒有看懂

這代碼放到編輯器里還特么真能執(zhí)行

當(dāng)然啦,原作者也說了,這個(gè)代碼也是在無聊中誕生的,平時(shí)擼碼是不寫中文變量名的, 中文變量名只是最開始瞎寫的時(shí)候邊寫語料邊寫代碼時(shí)懶得切英文輸入法了。

中文變量名也就忍了,但代碼邏輯不好懂,最后我還是忍著劇烈的頭痛把它的原理讀懂了。

這究竟咋實(shí)現(xiàn)的呢?

我肯定是不服的,這代碼要是被Python之父看見了,他一定后悔發(fā)明這門語言。

其實(shí),生成的文章內(nèi)容都來自于素材文件 data.json, 這個(gè)文件的結(jié)構(gòu)是個(gè)字典結(jié)構(gòu)

{
 "famous":[
 "愛迪生a,天才是百分之一的勤奮加百分之九十九的汗水。b",
 "查爾斯·史a,一個(gè)人幾乎可以在任何他懷有無限熱忱的事情上成功。b",
 ....
 ],
 "bosh":[
 "現(xiàn)在, 解決x的問題, 是非常非常重要的. 所以, ",
 "我們不得不面對一個(gè)非常尷尬的事實(shí), 那就是, ",
 ....
 ],
 "after":[
 "這不禁令我深思. ",
 "帶著這句話, 我們還要更加慎重的審視這個(gè)問題: ",
 ....

 ],
 "before":[
 "曾經(jīng)說過",
 "在不經(jīng)意間這樣說過",
 ....
 ]
}

famous 里面收集了很多名人語錄, 里面的關(guān)鍵字”a”和”b” 將分別被 beforeafter列表中的內(nèi)容替換,這樣處理后句子看起來具有邏輯性

bosh里面是各種各樣的的廢話, 里面關(guān)鍵字”x”最后會用標(biāo)題替換,這樣會讓人感覺,這篇文章還是和標(biāo)題有那么一丟丟聯(lián)系的。

一篇完整的文章就是靠不斷隨機(jī)從famous、bosh列表獲取元素,之后拼接成一篇文章。

搞懂了原理,如果我們自己來寫的話,除去代碼注釋,就10來行代碼

import random
import json

data = json.load(open("data.json", encoding="utf-8"))

def generator(title, length=800):
 """
 :param title: 文章標(biāo)題
 :param length: 生成正文的長度
 :return: 返回正文內(nèi)容
 """
 body = ""
 while len(body) < length:
  num = random.randint(0, 100)
  if num < 10:
   body += "\r\n"
  elif num < 20:
   body += random.choice(data["famous"]) \
    .replace('a', random.choice(data["before"])) \
    .replace('b', random.choice(data['after']))
  else:
   body += random.choice(data["bosh"])
  body = body.replace("x", title)

 return body

來測試一下

from bullshit import generator
content = generator("我愛Python")
print(content)

輸出

一般來說, 問題的關(guān)鍵究竟為何? 既然如何,
對我個(gè)人而言,我愛Python不僅僅是一個(gè)重大的事件,還可能會改變我的人生.
我愛Python, 到底應(yīng)該如何實(shí)現(xiàn). 生活中, 若我愛Python出現(xiàn)了, 我們就不得不考慮它出現(xiàn)了的事實(shí). 從這個(gè)角度來看, 易卜生說過一句富有哲理的話, 偉大的事業(yè),需要決心,能力,組織和責(zé)任感。我希望諸位也能好好地體會這句話. 我們不妨可以這樣來想: 我們不妨可以這樣來想: 奧斯特洛夫斯基曾經(jīng)提到過, 共同的事業(yè),共同的斗爭,可以使人們產(chǎn)生忍受一切的力量?!∵@不禁令我深思. 在這種困難的抉擇下, 本人思來想去, 寢食難安.問題的關(guān)鍵究竟為何? 帶著這些問題, 我們來審視一下我愛Python. 我愛Python似乎是一種巧合,但如果我們從一個(gè)更大的角度看待問題,這似乎是一種不可避免的事實(shí).
現(xiàn)在, 解決我愛Python的問題, 是非常非常重要的. 所以, 對我個(gè)人而言,我愛Python不僅僅是一個(gè)重大的事件,還可能會改變我的人生. 現(xiàn)在, 解決我愛Python的問題, 是非常非常重要的. 所以,

這樣看來, 在這種不可避免的沖突下,我們必須解決這個(gè)問題. 既然如何, 要想清楚, 我愛Python, 到底是一種怎么樣的存在. 既然如此, 總結(jié)的來說, 經(jīng)過上述討論, 我愛Python因何而發(fā)生?總結(jié)的來說, 就我個(gè)人來說, 我愛Python對我的意義, 不能不說非常重大. 而這些并不是完全重要, 更加重要的問題是, 問題的關(guān)鍵究竟為何? 笛卡兒曾經(jīng)提到過, 我的努力求學(xué)沒有得到別的好處,只不過是愈來愈發(fā)覺自己的無知。這句話語雖然很短, 但令我浮想聯(lián)翩. 我認(rèn)為, 我愛Python, 發(fā)生了會如何, 不發(fā)生又會如何. 經(jīng)過上述討論,
在這種困難的抉擇下, 本人思來想去, 寢食難安.我愛Python, 到底應(yīng)該如何實(shí)現(xiàn). 我愛Python, 到底應(yīng)該如何實(shí)現(xiàn).

你還自定義內(nèi)容長度

content = generator("我愛Python", length=1000)
print(content)

輸出

要想清楚, 我愛Python, 到底是一種怎么樣的存在. 我們都知道, 只要有意義, 那么就必須慎重考慮.了解清楚我愛Python到底是一種怎么樣的存在, 是解決一切問題的關(guān)鍵.
從這個(gè)角度來看, 一般來說, 帶著這些問題, 我們來審視一下我愛Python. 我們不得不面對一個(gè)非常尷尬的事實(shí), 那就是, 吉姆·羅恩在不經(jīng)意間這樣說過, 要么你主宰生活,要么你被生活主宰。這句話把我們帶到了一個(gè)新的維度去思考這個(gè)問題: 我愛Python, 到底應(yīng)該如何實(shí)現(xiàn). 每個(gè)人都不得不面對這些問題.  在面對這種問題時(shí), 問題的關(guān)鍵究竟為何? 可是,即使是這樣,我愛Python的出現(xiàn)仍然代表了一定的意義. 我們一般認(rèn)為, 抓住了問題的關(guān)鍵, 其他一切則會迎刃而解.了解清楚我愛Python到底是一種怎么樣的存在, 是解決一切問題的關(guān)鍵.我認(rèn)為, 了解清楚我愛Python到底是一種怎么樣的存在, 是解決一切問題的關(guān)鍵.我愛Python, 到底應(yīng)該如何實(shí)現(xiàn). 我愛Python的發(fā)生, 到底需要如何做到, 不我愛Python的發(fā)生, 又會如何產(chǎn)生. 現(xiàn)在, 解決我愛Python的問題, 是非常非常重要的. 所以, 我們不妨可以這樣來想: 現(xiàn)在, 解決我愛Python的問題, 是非常非常重要的. 所以, 我愛Python, 到底應(yīng)該如何實(shí)現(xiàn). 馬克思說過一句富有哲理的話, 一切節(jié)省,歸根到底都?xì)w結(jié)為時(shí)間的節(jié)省。這啟發(fā)了我. 我們不妨可以這樣來想: 我愛Python似乎是一種巧合,但如果我們從一個(gè)更大的角度看待問題,這似乎是一種不可避免的事實(shí). 問題的關(guān)鍵究竟為何? 歌德曾經(jīng)說過一句富有哲理的話,流水在碰到底處時(shí)才會釋放活力。帶著這句話, 我們還要更加慎重的審視這個(gè)問題: 我們不得不面對一個(gè)非常尷尬的事實(shí), 那就是, 我們不得不面對一個(gè)非常尷尬的事實(shí), 那就是, 我愛Python, 到底應(yīng)該如何實(shí)現(xiàn). 一般來講, 我們都必須務(wù)必慎重的考慮考慮. 我們都知道, 只要有意義, 那么就必須慎重考慮.總結(jié)的來說,
我們一般認(rèn)為, 抓住了問題的關(guān)鍵, 其他一切則會迎刃而解.
這種事實(shí)對本人來說意義重大, 相信對這個(gè)世界也是有一定意義的.既然如何, 就我個(gè)人來說, 我愛Python對我的意義, 不能不說非常重大. 我愛Python, 發(fā)生了會如何, 不發(fā)生又會如何. 莎士比亞說過一句著名的話, 意志命運(yùn)往往背道而馳,決心到最后會全部推倒。這句話語雖然很短, 但令我浮想聯(lián)翩.

是不是很簡單。

當(dāng)然,你也可以引入更多NLP等技術(shù)進(jìn)來,不過這對我來說

原項(xiàng)目地址:https://github.com/menzi11/BullshitGenerator

重構(gòu)后的代碼地址:

https://github.com/lzjun567/BullshitGenerator

總結(jié)

以上所述是小編給大家介紹的so easy!10行代碼寫個(gè)"狗屁不通"文章生成器功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • 最新Adobe2022?全家桶永久激活無限使用?附安裝包下載(一鍵安裝)

    最新Adobe2022?全家桶永久激活無限使用?附安裝包下載(一鍵安裝)

    眾所周知,Adobe系列的軟件每年都會更新一個(gè)大版本,這不,2022年還沒到來,可Adobe2022已經(jīng)更新了,所以最新版一出來,就有安裝體驗(yàn),整體效果非常不錯(cuò),今天就把所有資源分享給大家
    2021-12-12
  • Iris 環(huán)境搭建詳細(xì)教程(最新版Go&IDEA&IrisV12)

    Iris 環(huán)境搭建詳細(xì)教程(最新版Go&IDEA&IrisV12)

    這篇文章主要介紹了Iris 環(huán)境搭建(最新版Go&IDEA&IrisV12),本文通過示例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11
  • delphi使用Chilkat 組件和庫從SFTP下載文件的方法

    delphi使用Chilkat 組件和庫從SFTP下載文件的方法

    這篇文章主要介紹了delphi使用Chilkat 組件和庫從SFTP下載文件的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • chatgpt?1020?錯(cuò)誤碼成功解決的三種方案(推薦)

    chatgpt?1020?錯(cuò)誤碼成功解決的三種方案(推薦)

    造成1020錯(cuò)誤的主要原因是代理問題,當(dāng)打開代理時(shí),登錄該網(wǎng)站會直接顯示上述錯(cuò)誤“Access?denied?Error?code?1020”,怎么解決這個(gè)問題呢,下面小編給大家?guī)砹薱hatgpt?1020?錯(cuò)誤碼成功解決的三種方案,感興趣的朋友一起看看吧
    2023-02-02
  • 使用curl命令行模擬登錄WordPress的方法

    使用curl命令行模擬登錄WordPress的方法

    這篇文章主要介紹了使用curl命令行模擬登錄WordPress的方法,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2019-11-11
  • 微信小程序應(yīng)用號開發(fā)體驗(yàn)

    微信小程序應(yīng)用號開發(fā)體驗(yàn)

    這篇文章主要介紹了微信小程序(應(yīng)用號)開發(fā)體驗(yàn)的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • Markdown語法備忘

    Markdown語法備忘

    Markdown 是一種輕量級標(biāo)記語言,它允許人們使用易讀易寫的純文本格式編寫文檔,然后轉(zhuǎn)換成格式豐富的HTML頁面
    2014-10-10
  • 字符編碼筆記 ASCII,Unicode和UTF-8

    字符編碼筆記 ASCII,Unicode和UTF-8

    下面就是我的筆記,主要用來整理自己的思路。但是,我盡量試圖寫得通俗易懂,希望能對其他朋友有用。畢竟,字符編碼是計(jì)算機(jī)技術(shù)的基石,想要熟練使用計(jì)算機(jī),就必須懂得一點(diǎn)字符編碼的知識
    2012-08-08
  • nGrinder性能工具源碼安裝部署過程

    nGrinder性能工具源碼安裝部署過程

    nGrinder是NHN公司用Java語言開發(fā)的一款的基于Grinder開發(fā)的開源B/S Web性能測試平臺,具有友好簡潔的用戶界面和分布式測試功能,本文給大家分享nGrinder性能工具源碼安裝部署過程,一起看看吧
    2021-05-05
  • WebStorm打開多個(gè)項(xiàng)目的三種方法總結(jié)

    WebStorm打開多個(gè)項(xiàng)目的三種方法總結(jié)

    WebStorm支持多項(xiàng)目管理,本文介紹了三種方法:使用項(xiàng)目導(dǎo)航面板、窗口分割和多個(gè)WebStorm實(shí)例,項(xiàng)目導(dǎo)航面板可以在同一窗口內(nèi)管理多個(gè)項(xiàng)目,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09

最新評論