Хочу сделать игру, где нужно угадывать слова. Нашел в интернете текстовую версию(а консоли), и захотел перенести на интерфейс. Кнопки сделал и много чего тоже сделал. В общем проблема в том, что мне нужно сделать проверку, есть ли буква(-ы) в слове, по нажатию на кнопку. Я сделал проверку, что если текст кнопки А равен выбранному слову, то заменить буквы которые есть(в этом не точно) и у меня все работает без ошибок, но буквы не заеняются! Помогите пожалуйста
Windows 10
Python 3.8
Код:
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