Как сделать проверку на букву, по нажатию на кнопку? python 3.8

Tulsk1y

Новичок
Пользователь
Авг 26, 2023
8
1
3
Хочу сделать игру, где нужно угадывать слова. Нашел в интернете текстовую версию(а консоли), и захотел перенести на интерфейс. Кнопки сделал и много чего тоже сделал. В общем проблема в том, что мне нужно сделать проверку, есть ли буква(-ы) в слове, по нажатию на кнопку. Я сделал проверку, что если текст кнопки А равен выбранному слову, то заменить буквы которые есть(в этом не точно) и у меня все работает без ошибок, но буквы не заеняются! Помогите пожалуйста

Код:
import random
from tkinter import *
from tkinter import messagebox

wind = Tk()
wind.geometry("400x270")
wind.resizable(width=False, height=False)

dy=120

words =        ('алфавит', 'чебурек', 'москва', 'парфюм', 'нижневартовск','фотография',
            'вода','ноутбук','телефон','компьютер','рота','секунда',
            'бомба', 'пульт','телевизор','дом','школа','занятие',
            'учитель','каратэ','программа','хакер','интернет','язык',
            'дубль','инструмент','коробка','код','программирование','зарядка',
            'калькулятор','попытка','утюг','кран','деньги','кошелек',
            'бизнес','азбука','очистка','машина','автобус','анкета') # 42

label_text ='Вид загаданного слова'
label3_text ='Напиши любую букву, чтоб угадать слово'

word_rand = random.choice(words)
word_mine = "*"*len(word_rand)
tries = 10

label = Label(wind, text=label_text, font=("", 15))
label2 = Label(wind, text=word_mine, font=("", 15))
label3 = Label(wind, text=label3_text)
label4 = Label(wind, text="Осталось попыток - ")
label5 = Label(wind, text=tries)

# ------------------------------------------------------

def onA():
    new=''
    for btnA.text in word_rand:
        if btnA.text in word_rand:
                for i in range(len(word_rand)):
                    if btnA.text==word_rand[i]:
                        new+=btnA.text

# ------------------------------------------------------

# answer_field = Entry(wind, text="a", width=4)
btnA = Button(wind, text='  a  ', command=onA)
btnB = Button(wind, text='  б  ')
btnC = Button(wind, text='  в  ')

label3.place(x=75, y=85)
label.grid(column=0, row=0, padx=85)
label2.grid(column=0, row=1, pady=10)

btnA.place(x=10, y=dy)
btnB.place(x=50, y=dy)
btnC.place(x=90, y=dy)

wind.mainloop()

# ---------------------------------------------
# текст ниже это таже игра, только в текстовом виде!

# tries=10 # общее число попыток
# word_rnd=random.choice(words) # выбор рандомного слова из кортежа
# word_mine='*'*len(word_rnd) # представление загад. слова в виде ***
# print('Загаданное слово имеет следующий вид: ', word_mine)
# while (tries!=0) and (word_mine!=word_rnd):
#     new=''
#     guess=input('Введите букву, которая, по вашему мнению находится в слове: ')
#     if guess!='':
#         if guess in word_rnd:
#             for i in range(len(word_rnd)): # цикл заполнения шифрованного word_mine угаданными буквами
#                 if guess==word_rnd[i]:
#                     new+=guess                   
#                 else:
#                     new+=word_mine[i]
#             word_mine=new
#             print('\nВерно. Текущий вид слова: ', word_mine)
#         else:
#             tries-=1
#             print('Такой буквы нет, осталось попыток: ', tries)
 
#     else:
#         print('Ничего не введено, попробуйте снова')
#         continue

Windows 10
Python 3.8
 

Tulsk1y

Новичок
Пользователь
Авг 26, 2023
8
1
3
Я имел ввиду по нажатию на кнопку делать проверку на наличие буквы
 

Форум IT Специалистов