摘要:網(wǎng)上經(jīng)常有些從個(gè)字里面找成語(yǔ)的小游戲,那么怎么用把成語(yǔ)組合找出來(lái)呢準(zhǔn)備詞典從網(wǎng)上下載一個(gè)成語(yǔ)的詞典每行一個(gè)成語(yǔ),保存成。
網(wǎng)上經(jīng)常有些從N個(gè)字里面找成語(yǔ)的小游戲,那么怎么用python把成語(yǔ)組合找出來(lái)呢?
準(zhǔn)備詞典從網(wǎng)上下載一個(gè)成語(yǔ)的詞典、每行一個(gè)成語(yǔ),保存成 word.txt。
代碼實(shí)現(xiàn)1.構(gòu)建一個(gè)首字-成語(yǔ)的字典模型 predict.model
import pickle from pathlib import Path seq = Path("word.txt").read_text().split(" ") predict = {} for word in seq: pre = list(word)[0] predict.setdefault(pre, []) predict[pre].append(word) with open("predict.model", "wb") as f: f.write(pickle.dumps(predict))
2.實(shí)現(xiàn)成語(yǔ)查找的類(lèi)
import pickle class Idiom(object): def __init__(self, model_path="predict.model"): self.predict = pickle.loads(Path(model_path).read_bytes()) def find(self, text): # 生成單字集合 chas = set(text) for cha in chas: # 獲取單字對(duì)應(yīng)的備選成語(yǔ) words = self.predict.get(cha, []) if not words: continue for word in words: # 檢查備選成語(yǔ)的字是否在單字集合中 for i in word: if i not in chas: break # for循環(huán)執(zhí)行完即備選成語(yǔ)由單字集合中的字組成 else: print(word)
3.現(xiàn)在就可以開(kāi)始找成語(yǔ)啦
# 網(wǎng)上一般的成語(yǔ)游戲的備選字比這里少很多 s = """月光如流水一般,靜靜地瀉在這一片葉子和花上。 薄薄的青霧浮起在荷塘里。 葉子和花仿佛在牛乳中洗過(guò)一樣;又像籠著輕紗的夢(mèng)。 雖然是滿月,天上卻有一層淡淡的云,所以不能朗照; 但我以為這恰是到了好處——酣眠固不可少,小睡也別有風(fēng)味的。 月光是隔了樹(shù)照過(guò)來(lái)的,高處叢生的灌木,落下參差的斑駁的黑影,峭楞楞如鬼一般; 彎彎的楊柳的稀疏的倩影,卻又像是畫(huà)在荷葉上。 塘中的月色并不均勻;但光與影有著和諧的旋律,如梵婀玲上奏著的名曲。""") obj = Idiom() obj.find(s)
找出來(lái)的成語(yǔ)有:
一天一地、別有風(fēng)味、別有天地、恰到好處、落花流水、水流花落、 水天一色、流水落花、風(fēng)輕云淡、月黑風(fēng)高、高高在上、云淡風(fēng)輕、 能上能下、不上不落、不上不下、不以為然、不差上下、名高天下、 名滿天下、天下為籠、天高地下、參差不一
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/41368.html
摘要:官方網(wǎng)站介紹是一個(gè)輕量級(jí)的跨平臺(tái)測(cè)試自動(dòng)化工具,可以使用不同的語(yǔ)言中編寫(xiě)測(cè)試用例的能力。本質(zhì)上是一個(gè)行為驅(qū)動(dòng)開(kāi)發(fā)測(cè)試框架。支持測(cè)試報(bào)告可以生成格式的報(bào)告。 官方網(wǎng)站:https://docs.gauge.org/latest... 介紹: Gauge是一個(gè)輕量級(jí)的跨平臺(tái)測(cè)試自動(dòng)化工具,可以使用不同的語(yǔ)言中編寫(xiě)測(cè)試用例的能力。Gauge本質(zhì)上是一個(gè)BDD(行為驅(qū)動(dòng)開(kāi)發(fā))測(cè)試框架。如果你了...
摘要:接觸過(guò)的同學(xué)都知道使用作為項(xiàng)目的包管理工具但是并不是獨(dú)有的是的包管理工具這兩者的關(guān)系就像于于一樣但是發(fā)現(xiàn)真正項(xiàng)目中使用還是比較少的所以這里這里寫(xiě)一遍文章介紹的使用幫助那些對(duì)于還是有點(diǎn)模糊的同學(xué)此文跟沒(méi)有任何聯(lián)系安裝的方式就不講了具體安裝方式 接觸過(guò)Laravel的同學(xué)都知道,Laravel使用Composer作為項(xiàng)目的包管理工具.但是Composer并不是Laravel獨(dú)有的,Comp...
摘要:幾個(gè)月之內(nèi)就開(kāi)發(fā)了幾十款小程序的開(kāi)發(fā)者陳林,有著自己的解答。資深小程序開(kāi)發(fā)者陳林,是小程序風(fēng)口下的探索者之一,借助小程序無(wú)需安裝,易于傳播的特點(diǎn),陳林以小游戲類(lèi)目為核心,配合小程序間可相互跳轉(zhuǎn)的特性。 showImg(https://segmentfault.com/img/remote/1460000020165110);你是一條產(chǎn)品經(jīng)理,現(xiàn)在要出一個(gè)大型需求的方案,你會(huì)怎么做? ...
摘要:碰到一個(gè)問(wèn)題,關(guān)于時(shí)間存儲(chǔ)時(shí)區(qū)的問(wèn)題。使用的是一個(gè)工具,可以使用,無(wú)奈存的時(shí)間是按照時(shí)區(qū)的。然后我就思考了,很多情況下,工作中默認(rèn)的時(shí)區(qū)就在東八區(qū),面向用戶也在這里,完全沒(méi)考慮其他時(shí)區(qū)的情況。 最近作為小白在學(xué)習(xí) golang,只能說(shuō)更多的踩坑,才能更好的學(xué)習(xí)。 打算使用 go-web 寫(xiě)點(diǎn)練手的內(nèi)容。 碰到一個(gè)問(wèn)題,關(guān)于 mysql 時(shí)間存儲(chǔ)時(shí)區(qū)的問(wèn)題。 使用的是 goose ...
閱讀 1580·2021-11-23 10:01
閱讀 2974·2021-11-19 09:40
閱讀 3220·2021-10-18 13:24
閱讀 3471·2019-08-29 14:20
閱讀 2985·2019-08-26 13:39
閱讀 1280·2019-08-26 11:56
閱讀 2669·2019-08-23 18:03
閱讀 379·2019-08-23 15:35