return letter if __name__=="__main__": print("Entrez le nombre de lettres de votre mot") word_size = int( input() ) used_letters = set() partial_word = "_" * word_size fails = 0 words = pendu.filter_wordsize( pendu.download_dic( "http://nojhan.net/aapssfc/data/french_dictionary.utf8" ), word_size ) while fails < len( pendu.BOARDS_PIC ): pendu.display( pendu.BOARDS_PIC, partial_word, fails ) words = compatible_words( words, partial_word ) print(len(words),"mots compatibles") # Construit la liste des lettres existantes dans les mots restants. remaining_letters = letters_in( words ) # Ne garde que les lettres n'ayant pas déjà été utilisées remaining_letters = remaining_letters - used_letters print(len(remaining_letters),"lettres restantes") letter = guess_letter_random_vowels( remaining_letters ) used_letters.add( letter ) print("Je pense à la lettre : «",letter,"», est-elle présente dans le mot ? [o/n]") answer = input()
def play( partial_word, words ): used_letters = set() fails = 0 while fails < len( pendu.BOARDS_PIC ): pendu.display( pendu.BOARDS_PIC, partial_word, fails ) words = compatible_words( words, partial_word, used_letters ) print(len(words),"mots compatibles") # S'il ne reste qu'un mot à tester, if len( words ) == 1: # on le propose directement. print("Je pense au mot «",words[0],"»") return ask_correct() elif len(words) == 0: print("Je ne connais pas ce mot.") return False letter = guess_letter_frequency( words, used_letters ) used_letters.add( letter ) print("Je pense à la lettre : «",letter,"»") if ask_correct(): partial_word = ask_partial_word( partial_word ) else: fails += 1 # Si c'est la dernière chance mais qu'il reste trop de mots à tester if fails == len(pendu.BOARDS_PIC) and len(words) > 1: # on tente au hasard print("Je pense au mot «",random.choice(words),"»") return ask_correct() if "_" not in partial_word: return True return False