11
Июн
2021

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

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

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/1294286/%D0%9A%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%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-python

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

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