Wordle 解題小幫手 (Python)

前段時間看了少數(shù)派的文章《最近突然火起來的 Wordle 是什么?平平無奇的它憑什么成了「萬人迷」》可免,對Wordle 產(chǎn)生興趣,玩了幾天≡跚簦可能是離開校園時候很久沒有學(xué)習(xí)英語了,也可能是詞匯量不夠,總是解題失敗恳守。遂產(chǎn)生了寫一個Python 程序來幫助解題的想法考婴。

Wordle 規(guī)則介紹

Wordle 每天會更新一個5個字母的單詞,在6次嘗試中猜出單詞就算成功催烘。每個猜測必須是一個有效的單詞(不能是不能組成單詞的字母排列)沥阱。

每次猜測后,字母塊的顏色會改變伊群,顏色含義如下:
Wordle規(guī)則.png

程序編寫

單詞數(shù)據(jù)

Wordle的單詞數(shù)據(jù)直接寫在網(wǎng)頁源代碼里考杉,進入Wordle,按F12查看源代碼舰始。

Wordle源碼.png

我們將這些數(shù)據(jù)提取出來就能的到Wordle單詞列表崇棠,網(wǎng)上已經(jīng)有人整理成json文件,同時還提出了SOARE是最好的起始詞丸卷,有興趣的可查看《The Best Starting Word in WORDLE》

代碼編寫

獲取單詞列表之后枕稀,就可以開始代碼的編寫了。 代碼的基本思路就是谜嫉,按照灰色萎坷、黃色和綠色三種情況分別處理,排除不符合的單詞骄恶。

代碼編寫思路:

  • 包含灰色色塊字母的單詞排除
  • 不包含黃色色塊字母的單詞排除
  • 包含黃色色塊字母但是還在錯誤的位置的單詞排除
  • 與綠色色塊字母位置不符合的單詞排除

代碼開源在Github:eMUQI/wordle-helper

import json

with open("words.json", 'r') as f:
    data = json.load(f)

words = data['words']

# 初始化
fault = ""  # 灰色色塊
pos_wrong = ["", "", "", "", ""]    # 黃色色塊
right = ["", "", "", "", ""]    # 綠色色塊
# 提示
print(40*"-")
print("The Best Starting Word in WORDLE may is 'SOARE'")
print("for result, gray:0 yellow:1 green:2")
print(40*"-")


for i in range(5):

    # 處理輸入食铐,記錄字母
    guess = input("{0}:".format(i+1))
    results = input("result:")
    for n in range(len(results)):
        if results[n] == "0":
            fault = fault + guess[n]
        elif results[n] == "1":
            pos_wrong[n] = pos_wrong[n] + guess[n]
        elif results[n] == "2":
            right[n] = guess[n]
        else:
            print("bad input")

    # 生成建議
    temp_list = []
    for word in words:
        # 檢查灰色色塊匕垫,也就是錯誤的字母
        flag = True
        for f in fault:
            if f in word:
                flag = False
                break

        if not flag:
            continue

        for n in range(5):

            # 檢查綠色色塊僧鲁,也就是正確的字母,字母和位置是否符合
            if right[n] != "" and right[n] != word[n]:
                flag = False
                break

            # 檢查黃色色塊象泵,也就位置不對的字母
            if pos_wrong[n] != "":
                for ps in pos_wrong[n]:
                    # 檢查是否有黃色色塊字母
                    if ps not in word:
                        flag = False
                        break
                    else:
                        #檢查是否還在錯誤的位置
                        if word.index(ps) == n:
                            flag = False
                            break

        if not flag:
            continue
        temp_list.append(word)

    print("suggest:", temp_list)
    word = temp_list.copy()
    print(40*"-")

小結(jié)

本身寫個程序是為了練練手寞秃,滿足一下寫代碼的快樂。 經(jīng)過實際測試偶惠,發(fā)現(xiàn)基本上到第三輪或者到第四輪猜測春寿,可以選擇的單詞就非常少了,輔助效果不錯忽孽。不過如果用這個程序解題绑改,那么解題的樂趣基本上也就沒有了。慎用兄一,哈哈厘线。
usage.png

本文首發(fā)于 Wulu's Blog
原文鏈接:Python Wordle 解題小幫手

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市出革,隨后出現(xiàn)的幾起案子造壮,更是在濱河造成了極大的恐慌,老刑警劉巖骂束,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耳璧,死亡現(xiàn)場離奇詭異成箫,居然都是意外死亡,警方通過查閱死者的電腦和手機旨枯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進店門蹬昌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人攀隔,你說我怎么就攤上這事凳厢。” “怎么了竞慢?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵先紫,是天一觀的道長。 經(jīng)常有香客問我筹煮,道長遮精,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任败潦,我火速辦了婚禮本冲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘劫扒。我一直安慰自己檬洞,他們只是感情好,可當我...
    茶點故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布沟饥。 她就那樣靜靜地躺著添怔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贤旷。 梳的紋絲不亂的頭發(fā)上广料,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天,我揣著相機與錄音幼驶,去河邊找鬼艾杏。 笑死,一個胖子當著我的面吹牛盅藻,可吹牛的內(nèi)容都是我干的购桑。 我是一名探鬼主播,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼氏淑,長吁一口氣:“原來是場噩夢啊……” “哼勃蜘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起夸政,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤元旬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體匀归,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡坑资,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了穆端。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袱贮。...
    茶點故事閱讀 38,768評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖体啰,靈堂內(nèi)的尸體忽然破棺而出攒巍,到底是詐尸還是另有隱情,我是刑警寧澤荒勇,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布柒莉,位于F島的核電站,受9級特大地震影響沽翔,放射性物質(zhì)發(fā)生泄漏兢孝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一仅偎、第九天 我趴在偏房一處隱蔽的房頂上張望跨蟹。 院中可真熱鬧,春花似錦橘沥、人聲如沸窗轩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痢艺。三九已至,卻和暖如春箫措,著一層夾襖步出監(jiān)牢的瞬間腹备,已是汗流浹背衬潦。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工斤蔓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人镀岛。 一個月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓弦牡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親漂羊。 傳聞我的和親對象是個殘疾皇子驾锰,可洞房花燭夜當晚...
    茶點故事閱讀 43,666評論 2 350

推薦閱讀更多精彩內(nèi)容