在我的计算器程序中添加一个函数。(Python)
make a add function in my calculalor program.(Python)
你好,我想做一个家庭作业计算器。
简单的描述是当我将光标放在 entry1 和 entry2 上然后我单击按钮时,在条目中输入的数字相互。
按钮功能完美
但是其他功能不起作用。
from tkinter import *
res_text = ' '
window = Tk()
window.title("계산기")
window.geometry('350x500')
num1 = Label(window, text='입력값 :').grid(column=0, row=0)
num2 = Label(window, text='입력값 :').grid(column=0, row=1)
res_label = Label(window, text='출력값 :', )
res_label.grid(column=0, row=2)
entry1 = Entry(window)
entry1.grid(column=1, row=0)
entry2 = Entry(window)
entry2.grid(column=1, row=1)
entry3 = Entry(window)
entry3.grid(column=1, row=2) # it is result entry
这是对计算器的忽视
def add():
a = float(entry1.get())
b = float(entry2.get())
c = a + b
global res_text
res_text= c
这就是我想要工作的功能
我认为“entry1.get()”是一个 str 对象,所以 a 和 b 转换为浮点数并添加 a 和 b
但解释器显示错误
ValueError:无法将字符串转换为浮点数:''
def result():
global res_text
entry3.insert(0, res_text)
它是一个结果函数
我能做些什么来解决它。请给我一个答案
我试图用我所有的激情一周。
可能您需要在entry1 和entry2 中输入号码。
否则 entry1.get() 为空。将 str 转换为 float 将显示错误 ValueError: could not convert string to float: ''
from tkinter import *
res_text = ' '
window = Tk()
window.title("계산기")
window.geometry('350x500')
num1 = Label(window, text='입력값 :').grid(column=0, row=0)
num2 = Label(window, text='입력값 :').grid(column=0, row=1)
res_label = Label(window, text='출력값 :', )
res_label.grid(column=0, row=2)
entry1 = Entry(window)
entry1.grid(column=1, row=0)
entry2 = Entry(window)
entry2.grid(column=1, row=1)
entry3 = Entry(window)
entry3.grid(column=1, row=2) # it is result entry
def add():
if entry1.get().isdigit() == False or entry2.get().isdigit() == False:
return
a = float(entry1.get())
b = float(entry2.get())
c = a + b
global res_text
res_text= c
def result():
global res_text
entry3.insert(0, res_text)
button = Button(window, text="add", command=add)
button.grid(column=0, row=3)
window.mainloop()
您不需要 result()
函数,您的代码中甚至没有调用它。这使程序更简单,因为您不需要全局变量。您必须注意可以将文本(又名 str)插入 entry3。
from tkinter import *
res_text = ' '
window = Tk()
window.title("계산기")
window.geometry('350x500')
num1 = Label(window, text='입력값 :').grid(column=0, row=0)
num2 = Label(window, text='입력값 :').grid(column=0, row=1)
res_label = Label(window, text='출력값 :', )
res_label.grid(column=0, row=2)
entry1 = Entry(window)
entry1.grid(column=1, row=0)
entry2 = Entry(window)
entry2.grid(column=1, row=1)
entry3 = Entry(window)
entry3.grid(column=1, row=2) # it is result entry
def add():
if entry1.get().isdigit() == False or entry2.get().isdigit() == False:
return
a = float(entry1.get())
b = float(entry2.get())
c = a + b
entry3.insert(0, str(c))
button = Button(window, text="add", command=add)
button.grid(column=0, row=3)
window.mainloop()
如果您需要 result
函数,那么您当然可以将部分代码移至其中,但在那种情况下您必须调用它。
你好,我想做一个家庭作业计算器。 简单的描述是当我将光标放在 entry1 和 entry2 上然后我单击按钮时,在条目中输入的数字相互。 按钮功能完美 但是其他功能不起作用。
from tkinter import *
res_text = ' '
window = Tk()
window.title("계산기")
window.geometry('350x500')
num1 = Label(window, text='입력값 :').grid(column=0, row=0)
num2 = Label(window, text='입력값 :').grid(column=0, row=1)
res_label = Label(window, text='출력값 :', )
res_label.grid(column=0, row=2)
entry1 = Entry(window)
entry1.grid(column=1, row=0)
entry2 = Entry(window)
entry2.grid(column=1, row=1)
entry3 = Entry(window)
entry3.grid(column=1, row=2) # it is result entry
这是对计算器的忽视
def add():
a = float(entry1.get())
b = float(entry2.get())
c = a + b
global res_text
res_text= c
这就是我想要工作的功能 我认为“entry1.get()”是一个 str 对象,所以 a 和 b 转换为浮点数并添加 a 和 b 但解释器显示错误 ValueError:无法将字符串转换为浮点数:''
def result():
global res_text
entry3.insert(0, res_text)
它是一个结果函数
我能做些什么来解决它。请给我一个答案 我试图用我所有的激情一周。
可能您需要在entry1 和entry2 中输入号码。 否则 entry1.get() 为空。将 str 转换为 float 将显示错误 ValueError: could not convert string to float: ''
from tkinter import *
res_text = ' '
window = Tk()
window.title("계산기")
window.geometry('350x500')
num1 = Label(window, text='입력값 :').grid(column=0, row=0)
num2 = Label(window, text='입력값 :').grid(column=0, row=1)
res_label = Label(window, text='출력값 :', )
res_label.grid(column=0, row=2)
entry1 = Entry(window)
entry1.grid(column=1, row=0)
entry2 = Entry(window)
entry2.grid(column=1, row=1)
entry3 = Entry(window)
entry3.grid(column=1, row=2) # it is result entry
def add():
if entry1.get().isdigit() == False or entry2.get().isdigit() == False:
return
a = float(entry1.get())
b = float(entry2.get())
c = a + b
global res_text
res_text= c
def result():
global res_text
entry3.insert(0, res_text)
button = Button(window, text="add", command=add)
button.grid(column=0, row=3)
window.mainloop()
您不需要 result()
函数,您的代码中甚至没有调用它。这使程序更简单,因为您不需要全局变量。您必须注意可以将文本(又名 str)插入 entry3。
from tkinter import *
res_text = ' '
window = Tk()
window.title("계산기")
window.geometry('350x500')
num1 = Label(window, text='입력값 :').grid(column=0, row=0)
num2 = Label(window, text='입력값 :').grid(column=0, row=1)
res_label = Label(window, text='출력값 :', )
res_label.grid(column=0, row=2)
entry1 = Entry(window)
entry1.grid(column=1, row=0)
entry2 = Entry(window)
entry2.grid(column=1, row=1)
entry3 = Entry(window)
entry3.grid(column=1, row=2) # it is result entry
def add():
if entry1.get().isdigit() == False or entry2.get().isdigit() == False:
return
a = float(entry1.get())
b = float(entry2.get())
c = a + b
entry3.insert(0, str(c))
button = Button(window, text="add", command=add)
button.grid(column=0, row=3)
window.mainloop()
如果您需要 result
函数,那么您当然可以将部分代码移至其中,但在那种情况下您必须调用它。