Python новое случайное значение переменной функции каждый её вызов

Использую в программе библиотеки tkinter и random, при нажатии на кнопку вызывается функция resultat, которая проверяет соответствие введенного в поле text числа и суммы случайных чисел (Программа с случайными математическими заданиями).

Нужно реализовать то, что бы каждый вызов функции эти числа менялись (снова проходили через random) и при этом не ломался алгоритм проверки. Дело в том, что я использую z= x '+' y ; lbl = Label (text=z) . Мне нужно, что бы я мог видеть эти случайные числа ещё до вызова функции, а после вызова функции проходила проверка, в конце генерировались и выводились новые значения.

from tkinter import *
import random

x=random.randint(1,100)
y=random.randint(1,200)

text = Entry(width=10)
btn = Button(text="Клик",command=resultat)

def resultat():
    otvet=int(text.get())
    if otvet==x+y:
        pass
    elif otvet!=x+y:
        pass
            

Ответы (1 шт):

Автор решения: insolor

Внутри функции объявите переменные x и y глобальными, в конце функции запишите в эти переменные новые значения, и обновите текст в label:

from tkinter import *
import random

root = Tk()

x=random.randint(1,100)
y=random.randint(1,200)


def resultat():
    global x, y

    otvet=int(text.get())
    if otvet==x+y:
        pass
    else:  # Т.к. условие противоположное, то можно заменить просто на else
        pass

    x=random.randint(1,100)
    y=random.randint(1,200)
    z = x + y
    lbl.config(text=z)


text = Entry(width=10)
text.pack()
btn = Button(text="Клик",command=resultat)
btn.pack()

z = x + y
lbl = Label(text=z)
lbl.pack()

root.mainloop()
→ Ссылка