close

最近wordle刮起全球一陣旋風,所以想說也來玩看看!!

首先你要有個字典檔用來搜尋
可以用Linux內建的/usr/share/dict/words
或者是用wiktionary提供的常見字典檔
我是用wiktionary提供的,然後再用指令

就可以取得常見的5碼單字了
Download five.txt

我通常會先輸入yours跟abide兩個單字
因為這2個單字包含了所有母音.

當然你也可以用下面這段程式
來找出含不同母音最多的單字
然後選喜歡的字來用.
其實w字母也算是半母音
只是機率太低就先不考慮

在這裡我們先輸入 yours
(另外有人對開局用字的研究並不是crane)

photo_2022-04-27_01-30-24.jpg

從第一筆資料可以得知,有字母O、S
但是O不在第2位、S不在最後面
以及沒有YUR字母

因此我們先把o跟s找出來,再去做invert-match
最後再做yur字母的invert-match

到目前第一步,剩下的單字還是太多,因此再輸入abide
 

         photo_2022-04-27_01-30-57.jpg

發現abide都沒有,這可以過濾掉很多單字了
再把指令新增abide字母進去

看了一下結果,幾乎都是s開頭的字
那麼就隨便找一個s開頭的單字來猜
(註:後來覺得,第3次最好是找字母都無重複的單字來猜)

photo_2022-04-27_01-31-07.jpg

從spoon結果可以看到,有S、O、N
而且位置剛好都在1、3、5
並且沒有P字母,O也不在第4位
(記得這例子不能把字母O放進灰色子集裡,這樣會形成空集合)     

因此就可以再多加條件進去

最後看到1筆結果!!
Bingo!!

photo_2022-04-27_01-31-11.jpg

其實wordle出現的單字,有時候five.txt檔案並沒有
當然你可以選擇更大的字典檔來玩
或者是直接去wiktionary網站找.
譬如之前一個字inert在這個five.txt沒有
玩到最後的線索是i?ert,第2個字母不知道
就去wiktionary測看看還有哪些字.

假設你已經確定 bkwamn 這些字母不在單字裡面
那就把這串字母存成 omit.txt

有找到就會把單字以檔名的方式存下來.

當你有n個未知數時,就寫n層迴圈下去跑
然後一有結果就拿去輸入看看,跑邊跑試
如果猜中m個字母就立馬把程式改成n-m層迴圈
可以減少很多等候時間.
不然n>=3時,整個跑完要等很久.

當然還可以用一些英文單字的特性下去猜
譬如在5長度的單字下,
S開頭的單字最多(這個性質在全部英文單字裡也是如此),

S結尾的單字也最多(這個性質在全部英文單字裡也是如此)

然後開頭是Q的話,第2碼一定是U(這個性質在全部英文單字裡幾乎如此)

如果第2碼是H的話,那第1碼幾乎是s,c,t,w居多(這個性質在全部英文單字裡也是如此)

文章標籤
linux wordle
全站熱搜
創作者介紹
創作者 fvalinux 的頭像
fvalinux

Elegance

fvalinux 發表在 痞客邦 留言(0) 人氣()