いまさらWordleにハマる
とりえあずソルバーもどきの練習デス
あくまで習作なのでこれでは解ききれまセン。というか遊ぶほうデス。
でも、2300語くらいしかないみたいなので文字の出現頻度と単語中の文字種数で点数リストにして残ったうちの一番大きいやつみたいなダメアルゴリズムでも真面目に深さ優先検索とかしたのの85%くらいの成績でるかもデス。
#!/bin/env python3 from random import seed, choice def main(): #print("hello") with open("./dict.txt") as f: wdic = [x.strip() for x in f.readlines()] #print(wdic) seed() ans =choice(wdic) adic = list(wdic) print(ans) for i in range(9): print(i, len(adic)) print(adic) a = input() k = '' for b,c in zip(ans, a): m = '_' if b == c: m = 'G' elif c in ans: m = 'Y' k +=m print() print(k) print(a) if k == 'GGGGG': break for j in range(len(k)): if k[j] == '_': adic = [x for x in adic if a[j] != x[j]] elif k[j] == 'G': adic = [x for x in adic if a[j] == x[j]] elif k[j] == 'Y': adic = [x for x in adic if a[j] in x] adic = [x for x in adic if a[j] != x[j]] if __name__ == "__main__": main()