Кнопка возведения в корень в калькуляторе

Есть программа, это калькулятор. Задача добавить кнопку которая будет извлекать корень из введеного. Кнопку я добавил, но как извлечь корень - не могу понять, пробую при помощи функцию math и math.sqrt() но не выходит, пробовал просто оператор извлечения** - тоже не хочет. Кнопка 17. Подскажите как сделать.

UPD: пытаюсь функцией сделать которая по кнопке вызывается, тоже не хочет,

Вот код калькулятора:

from tkinter import *
import math
#from tkinter.ttk import Radiobutton


window = Tk()
oper=["+","-","*","/"]
number = IntVar()
window.geometry('200x250')
global operand1, lastop, lastres
lastop=0
operand1=0
lastres=0

def add():
    
    label1["text"] =   label1["text"] + str(number.get())
    label2["text"] =   label2["text"] + str(number.get())
    
def op():
    global operand1
    global lastop
    operand1=int(label1["text"])
    label1["text"] = ""
    lastres=operand1
    lastop=number.get()
    
    label2["text"] =   label2["text"] + label1["text"]
    label2["text"] =   label2["text"] + oper[lastop-11]
    #if lastres!=0:
        #operand1+=lastres
        #print("Увеличили операнд1", operand1)
        #lastres=0
    if lastop==11:
        print("lastres= ",lastres,"operand1= ",operand1)
        lastres+=operand1
        operand1+=int(label1["text"])
        print("lastres= ",lastres,"operand1= ",operand1)
def vyvod():
    global operand1
    global lastop
    global lastres
    
    if lastop==11:
        operand1+=int(label1["text"])
        label1["text"] = str(operand1)
        label2["text"] =   label2["text"] +  " = " + label1["text"]

    if lastop==12:

        operand1-=int(label1["text"])
        label1["text"] = str(operand1)
        label2["text"] =   label2["text"] +  " = " + label1["text"]

    elif lastop==13:    
        operand1*=int(label1["text"])
        label1["text"] = str(operand1)
        label2["text"] =   label2["text"] +  " = " + label1["text"]

    elif lastop==14:    
        operand1/=int(label1["text"])
        label1["text"] = str(operand1)
        label2["text"] =   label2["text"] +  " = " + label1["text"]

    elif lastop==17:    
        operand1**=int(label1["text"])
        label1["text"] = str(operand1)
        label2["text"] =   label2["text"] +  " = " + label1["text"]
    else:
        print("Ошибка в операции")

def koren():
        operand1=int(label1(math.sqrt(["text"])))
        label1["text"] = str(operand1)
        label2["text"] =   label2["text"] +  " = " + label1["text"]
      
def clean():
     global operand1
     global lastop
     global lastres
     operand1=0
     lastop=0
     lastres=0
     label1["text"] = ""
     label2["text"] = ""
     
btn1=Radiobutton(window,indicatoron=0,text="1",width=2,variable=number,value=1,command=add,bg="lightgreen")
btn2=Radiobutton(window,indicatoron=0,text="2",width=2,variable=number,value=2,command=add,bg="lightgreen")
btn3=Radiobutton(window,indicatoron=0,text="3",width=2,variable=number,value=3,command=add,bg="lightgreen")
btn4=Radiobutton(window,indicatoron=0,text="4",width=2,variable=number,value=4,command=add,bg="lightgreen")
btn5=Radiobutton(window,indicatoron=0,text="5",width=2,variable=number,value=5,command=add,bg="lightgreen")
btn6=Radiobutton(window,indicatoron=0,text="6",width=2,variable=number,value=6,command=add,bg="lightgreen")
btn7=Radiobutton(window,indicatoron=0,text="7",width=2,variable=number,value=7,command=add,bg="lightgreen")
btn8=Radiobutton(window,indicatoron=0,text="8",width=2,variable=number,value=8,command=add,bg="lightgreen")
btn9=Radiobutton(window,indicatoron=0,text="9",width=2,variable=number,value=9,command=add,bg="lightgreen")
btn0=Radiobutton(window,indicatoron=0,text="0",width=2,variable=number,value=0,command=add,bg="lightgreen")

     
btn11=Radiobutton(window,indicatoron=0,width=2,text="+",variable=number,value=11,command=op,bg="lightblue")
btn12=Radiobutton(window,indicatoron=0,width=2,text="-",variable=number,value=12,command=op,bg="lightblue")
btn13=Radiobutton(window,indicatoron=0,width=2,text="*",variable=number,value=13,command=op,bg="lightblue")
btn14=Radiobutton(window,indicatoron=0,width=2,text="/",variable=number,value=14,command=op,bg="lightblue")

btn15=Radiobutton(window,indicatoron=0,width=2,text="=",variable=number,value=15,command=vyvod)
btn16=Radiobutton(window,indicatoron=0,width=2,text="C",variable=number,value=16,command=clean,bg="red")
btn17=Radiobutton(window,indicatoron=0,width=2,text="√",variable=number,value=17,command=koren,bg="lightblue")
btn18=Radiobutton(window,indicatoron=0,width=2,text="DL",variable=number,value=18,command=clean,bg="red")


btn1.grid(row=0, column=0)

btn2.grid(row=0, column=1)
btn3.grid(row=0, column=2)

btn4.grid(row=1, column=0)
btn5.grid(row=1, column=1)
btn6.grid(row=1, column=2)

btn7.grid(row=2, column=0)
btn8.grid(row=2, column=1)
btn9.grid(row=2, column=2)
btn0.grid(row=3, column=1)

btn11.grid(row=0, column=3)

btn12.grid(row=1, column=3)
btn13.grid(row=2, column=3)
 
btn14.grid(row=3, column=3)
btn15.grid(row=3, column=4)
btn16.grid(row=3, column=0)
btn17.grid(row=3, column=4)
btn18.grid(row=3, column=2)          
frame = Frame(master=window, height=1, borderwidth=5,bg="red")
frame.grid(row=4, column=0,columnspan=3)

label1 = Label(master=window, width=15, height=1,text="", bg="yellow")
label1.grid(row=4, column=0,columnspan=3,pady=10)

label2 = Label(master=window, width=30, height=1,text="", bg="yellow")
label2.grid(row=5, column=0,columnspan=6,sticky = W)

window.mainloop()


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

Автор решения: Эникейщик

Перепутал порядок. Вместо

operand1=int(label1(math.sqrt(["text"])))

надо

operand1 = math.sqrt(int(label1["text"]))) 
→ Ссылка