11
Июн
2021

Как в Python вывести новое рандомное значение из списка при нажатии на кнопку?

При открытии окна в переменной lbl_studyText появляется рандомное слово из списка study_en_words.

При нажатии на кнопку и правильно введенного значения должно обновляться слово в переменной lbl_studyText. Как это сделать?

import random
STUDY_WORD = StringVar()
study_en_words = ['hello', 'bye', 'lesson', 'brain', 'text', 'train', 'pain', 'tree', 'one', 
'two', 'three', 'ten']
study_ru_words = ['привет', 'пока', 'урок', 'мозг', 'текст', 'поезд', 'боль', 'дерево', 
'один', 'два', 'три', 'десять']
words_random = random.choice(study_en_words)

def StudyForm():

def RandomWord():
    rus_study_sp = [rus_study.get()]
    result_study = list(set(rus_study_sp) & set(study_ru_words))
    if len(result_study) > 0: #условие правильно введенного значения
        lbl_resultStudy.config(text="Молодец, правильно!", fg="black")
    else:
        lbl_resultStudy.config(text="Не правильно! Попробуй еще раз!", fg="black")

study = Tk()
study.title("Обучение")

width = 800
height = 800
screen_width = study.winfo_screenwidth()
screen_height = study.winfo_screenheight()
x = (screen_width/2) - (width/2)
y = (screen_height/2) - (height/2)
study.geometry("%dx%d+%d+%d" % (width, height, x, y))
study.resizable(0, 0)

global StudyFrame, lbl_resultStudy, btn_study
StudyFrame = Frame(study)
StudyFrame.pack(side=TOP, pady=80)
lbl_studyText = Label(StudyFrame, text=words_random, font=('times new roman', 20), bd=35)
lbl_studyText.grid(row=1, columnspan=5)
lbl_study = Label(StudyFrame, text="Запишите перевод:", font=('times new roman', 20), 
bd=35)
lbl_study.grid(row=2)
lbl_resultStudy = Label(StudyFrame, text="", font=('times new roman', 18))
lbl_resultStudy.grid(row=3, columnspan=2)
rus_study = Entry(StudyFrame, font=('arial', 20), textvariable=STUDY_WORD, width=15)
rus_study.grid(row=2, column=1)
btn_study = Button(StudyFrame, text="Сохранить",  bg = 'brown', fg = 'white', font=('times 
new roman', 20, 'bold'), width=10, command = RandomWord)
btn_study.grid(row=4, columnspan=2, pady=20)

Источник: https://ru.stackoverflow.com/questions/1294334/%D0%9A%D0%B0%D0%BA-%D0%B2-python-%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B5-%D1%80%D0%B0%D0%BD%D0%B4%D0%BE%D0%BC%D0%BD%D0%BE%D0%B5-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8%D0%B7-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8-%D0%BD%D0%B0%D0%B6%D0%B0%D1%82%D0%B8%D0%B8-%D0%BD%D0%B0-%D0%BA%D0%BD%D0%BE%D0%BF%D0%BA%D1%83

Тебе может это понравится...

Добавить комментарий