59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
def belongs_to_dictionary(word):
|
|
"""check if a word is in dictionary
|
|
:word: the word to check
|
|
:returns: true if in word.txt else false
|
|
"""
|
|
with open("words.txt") as wl:
|
|
word_list = wl.read().split()
|
|
return word in word_list
|
|
|
|
|
|
def ask_word_in_dictionary():
|
|
""" ask a word, if not in word.txt redo
|
|
:returns: word of word.txt
|
|
"""
|
|
while(True):
|
|
in_word = input("insert a word that belongs to the file words.txt: ")
|
|
if belongs_to_dictionary(in_word):
|
|
return in_word
|
|
print(f"{in_word} is not in word.txt")
|
|
|
|
|
|
def ask_letter(tried_letters):
|
|
""" ask for a letter and check if it is not in trie_letters else redo
|
|
:tried_letters: list of already tried letters
|
|
:returns: the letter that is not in tried letters
|
|
"""
|
|
while(True):
|
|
in_letter = input(f"insert a letter that is not tested yet: {tried_letters.split()}: ")
|
|
if in_letter not in tried_letters:
|
|
return in_letter
|
|
print(f"{in_letter} is already guessed")
|
|
|
|
|
|
if __name__ == "__main__": # Only tests
|
|
print("Test de la fonction, belongs_to_dictionary")
|
|
testing_words = {'banana': True,
|
|
'patatas': False,
|
|
'tonitch': False,
|
|
'other': True,
|
|
'lol': False,
|
|
1: False,
|
|
False: False}
|
|
for value, result in testing_words.items():
|
|
if belongs_to_dictionary(value) == result:
|
|
print(f"{value} has been tested, returned {result} -- SUCCESS!")
|
|
else:
|
|
print(f"{value} has been tested, returned {result} -- ERROR!")
|
|
|
|
print("Test de la fonction, ask_word_in_dictionary")
|
|
value = ask_word_in_dictionary()
|
|
print(f"The function returned value {value}")
|
|
|
|
print("Test de la fonction, ask_letter")
|
|
value = ask_letter("")
|
|
print(f"The function returned value {value}")
|
|
value = ask_letter("aeiou")
|
|
print(f"The function returned value {value}")
|
|
print("Test are finished")
|