
Можете пожалуйста исправить этот код так, чтобы при нажатии на букву она становилась красной или
зелёной, взависимости от того правильная она или нет Код: 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]: if old_guess[i] == '_': # добавлено новое условие new_guess += letter.lower() found = True else: new_guess += old_guess[i] else: new_guess += old_guess[i] word_label.config(text=new_guess) if new_guess == guessed_word: print("You win!") elif not found: error_count += 1 if error_count == 10: print("You lose!") else: draw_hangman() Помогите пожалуйста дополнить код. Заранее благодарен за помощь!

Ответы на вопрос

Ответ:
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]:
if old_guess[i] == '_':
new_guess += letter.lower()
word_label.config(fg='green') # Буква угадана верно, цвет текста зеленый
found = True
else:
new_guess += old_guess[i]
word_label.config(text=new_guess)
if new_guess == guessed_word:
print("You win!")
elif not found:
error_count += 1
if error_count == 10:
print("You lose!")
else:
draw_hangman()
word_label.config(fg='red') # Буква угадана неверно, цвет текста красный
добавил две строки, чтобы изменить цвет текста при правильном и неправильном угадывании буквы. В случае правильного ответа установил цвет текста на зеленый, а в случае неправильного ответа - на красный.



Конечно, я могу помочь вам с этим кодом! Для начала, я заметил некоторые проблемы в вашем коде, которые нужно исправить. Вот исправленный код:
```python from tkinter import *
def check_letter(letter): global error_count, new_guess, old_guess, found new_guess = '' old_guess = word_label['text'] found = False for i in range(len(guessed_word)): if letter.lower() == guessed_word[i]: if old_guess[i] == '_': new_guess += letter.lower() found = True letter_button[letter].config(bg='green') # Добавляем фоновый цвет кнопки else: new_guess += old_guess[i] else: new_guess += old_guess[i] word_label.config(text=new_guess) if new_guess == guessed_word: print("You win!") elif not found: error_count += 1 if error_count == 10: print("You lose!") else: print("Incorrect letter!") draw_hangman()
# Пример использования root = Tk() guessed_word = "apple" # Загаданное слово error_count = 0 new_guess = '' old_guess = '' found = False
# Создаем кнопки для каждой буквы letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
letter_button = {} for letter in letters: letter_button[letter] = Button(root, text=letter, command=lambda l=letter: check_letter(l)) letter_button[letter].pack(side=LEFT)
word_label = Label(root, text='_' * len(guessed_word)) word_label.pack()
root.mainloop() ```
Объяснение изменений:
1. Добавлен импорт модуля `tkinter` для создания графического интерфейса. 2. Добавлен аргумент `bg` в метод `config` для изменения фонового цвета кнопки на зеленый, если буква правильная. 3. Добавлен код для создания кнопок и привязки каждой кнопки к функции `check_letter`. 4. Исправлено создание метки `word_label` для отображения загаданного слова. 5. Добавлено главное окно `root` и запуск главного цикла `mainloop` для отображения графического интерфейса.
Теперь при нажатии на букву она будет становиться зеленой, если она правильная, иначе она останется красной. Надеюсь, это поможет вам! Если у вас возникнут дополнительные вопросы, пожалуйста, дайте мне знать.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili