But, when the correct word is entered on any other than the first try, it is returning None instead.
Expand|Select|Wrap|Line Numbers
- import random
- def word_list():
- with open("MyFile.txt", "r") as file:
- allText = file.read()
- return list(map(str, allText.split()))
- def random_word():
- rnd_word = (random.choice(word_list()))
- return rnd_word
- def is_real_word(guess, valid_words_list):
- if guess in valid_words_list:
- #check
- print("Passed word from next guess: ",guess)
- return True
- else:
- #check
- print("Passed word from next guess: ",guess)
- print("That's not a real word!")
- next_guess(valid_words_list)
- def next_guess(word_list):
- ges_word = input("Please enter a guess: ")
- if is_real_word(ges_word, word_list):
- #check
- print("next guess true ges word: ",ges_word)
- return ges_word
- def check_guess(s1, s2):
- s = ''
- valid_list = list(s2)
- for i in range(len(s1)):
- if s1[i] in valid_list:
- if s1[i] in s2:
- if i == s2.index(s1[i]):
- s+="x"
- valid_list.remove(s1[i])
- else:
- s+="o"
- valid_list.remove(s1[i])
- else:
- s+="_"
- return s
- def play():
- guessed_word = next_guess(word_list())
- #check
- print("Passed from next guess: ",guessed_word)
- correct_word = random_word()
- outcome = check_guess(guessed_word, correct_word)
- print("Random word: ", correct_word)
- print(outcome)
- play()
Please enter a guess: kumar
Passed word from next guess: kumar
next guess true ges word: kumar
Passed from next guess: kumar
Random word: taunt
_o_o_
Behavior when the correct word is entered on the second try:
Please enter a guess: aaaaa
Passed word from next guess: aaaaa
That's not a real word!
Please enter a guess: kumar
Passed word from next guess: kumar
next guess true ges word: kumar
Passed from next guess: None