From fc9317830311c72ddd2395db283b3ad9a9c18868 Mon Sep 17 00:00:00 2001 From: Antoine Van Elstraete Date: Mon, 24 Jan 2022 22:22:40 +0100 Subject: [PATCH] Nettoyage --- wgamesolv.py | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/wgamesolv.py b/wgamesolv.py index afc2de6..85b3d1b 100755 --- a/wgamesolv.py +++ b/wgamesolv.py @@ -6,12 +6,12 @@ import argparse def load_dict(dict_file): - try : + try: with open(dict_file, "r") as dico: liste = json.load(dico) return liste - except: - print("Impossible d'ouvrir le fichier" + fp) + except Exception as error: + print(f"Impossible d'ouvrir le fichier {dict_file} : {error}") exit(2) @@ -20,13 +20,14 @@ def noDouble(mots): ndList = [] for mot in mots: llist = [] - for l in mot: - if not l in llist: - llist.append(l) + for lettre in mot: + if lettre not in llist: + llist.append(lettre) if len(mot) == len(llist): ndList.append(mot) return(ndList) + def firstTryFilter(mots, max_mots): ''' First Try : sélectionne des mots ayant des chances de valider ou invalider @@ -71,19 +72,12 @@ def resolv_pattern(liste, pattern): liste = list(set(liste)) return liste -#if pattern: -# patternCount = len(pattern) - pattern.count(".") -# for mot in goodLen: -# patternEval = 0 -# for l in range(len(mot)): -# if mot[l] == pattern[l]: -# patternEval += 1 -# if patternEval == patternCount : -# patternFilter.append(mot) -# def resolv_kl(liste, lettres): - # Known Letters : élimination des mots ne comprenant pas les lettres validées (hors pattern) + ''' + Known Letters : élimination des mots ne comprenant pas + les lettres validées (hors pattern) + ''' lettres = list(set(list(lettres))) MotsRestants = [] for mot in liste: @@ -93,7 +87,10 @@ def resolv_kl(liste, lettres): def resolv_bl(liste, lettres): - # Bad Letters : élimination des mots contenant des lettres invalidées (hors pattern) + ''' + Bad Letters : élimination des mots contenant + des lettres invalidées (hors pattern) + ''' lettres = list(set(list(lettres))) MotsSuppr = [] for mot in liste: @@ -103,7 +100,7 @@ def resolv_bl(liste, lettres): for mot in MotsSuppr: try: liste.pop(liste.index(mot)) - except: + except ValueError: pass return liste @@ -167,11 +164,11 @@ if __name__ == "__main__": ) args = parser.parse_args() - + if args.pattern and args.nbLetters and len(args.pattern) != args.nbLetters: print("Tu as merdé ta pattern petit scarabé !") exit(2) - + liste = load_dict(args.dictionary) liste = resolv_len(liste, args.nbLetters) liste = resolv_fl(liste, args.firstLetter)