Предмет:
ИнформатикаАвтор:
alexzandermercadoПроблема возникает из-за того, что при каждом вызове функции check_letter() происходит обновление текста word_label, что приводит к стиранию предыдущей угаданной буквы. Для исправления этой ошибки необходимо обновлять текст word_label только после того, как все угаданные буквы будут найдены. Также необходимо добавить проверку на то, была ли уже угадана эта буква.
фикс кода:def check_letter(letter):
global error_count
new_guess = ''
old_guess = word_label['text']
found = False
for i in range(len(guessed_word)):
if letter.lower() == guessed_word[i] and old_guess[i] == '_':
new_guess += letter.lower()
found = True
else:
new_guess += old_guess[i]
if not found:
error_count += 1
if error_count == 10:
print("Ты проиграл!")
else:
draw_hangman()
else:
word_label.config(text=new_guess)
if new_guess == guessed_word:
print("Ты победил!")
Автор:
ariannao3bsДобавить свой ответ
Предмет:
МатематикаАвтор:
vancenielsenОтветов:
Смотреть
Предмет:
МатематикаАвтор:
twix47Ответов:
Смотреть
Предмет:
Українська моваАвтор:
nolanОтветов:
Смотреть