В вашей функции палача ваш оператор if равен EMPTY , что связано с тем, что python чувствителен к отступу, поскольку нет открывающих и закрывающих скобок, и поэтому ваш код выдает ошибку в вашем для l oop строка:
while guesses > 0:
print("You have", guesses, " guesses left.")
print("Available letters:", available_letters)
letter_guessed = input("Please enter a letter:")
if is_word_guessed(secret_word,letter_guessed): <----------
> for c in available_letters:
> if c==letter_guessed:
> available_letters=available_letters.replace(c,'')
> letter_guessedright += letter_guessed
Исправьте свой код, сделав отступ для l oop: for c in available_letters:
, чтобы он ссылался на оператор if, чтобы дать вам, как показано ниже.
РЕЗУЛЬТАТ:
if is_word_guessed(secret_word,letter_guessed): #your previous if statement
for c in available_letters: # <----
if c==letter_guessed:
available_letters=available_letters.replace(c,'')
letter_guessedright += letter_guessed
print("Good guess:", get_guessed_word(secret_word, letter_guessedright))
else:
print("Oops! That letter is not in my word:",
get_guessed_word(secret_word, letter_guessedright))
guesses-=1
Вам также не нужно повторять import string
в каждой функции, только в верхней части вашей программы.