有一个程序,这是一个计算器。任务是添加一个按钮,该按钮将从输入中提取根。我添加了一个按钮,但我不知道如何提取根,我尝试使用该功能但没有成功,我只是尝试了提取运算符math-我也不想。按钮 17。告诉我怎么做。math.sqrt()**
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()
打乱了顺序。代替
必要的