如何让这个简单的Python程序为GUI中给定的输入解出一个等式
所以我编写了这段代码,我试图让python从GUI中用变量赋值来求解一个方程,然后显示答案。您应该只需要给出其中两个变量的值,其余的应该求解。我对python还是相当陌生的。这是一场游戏,我得到的是:如何让这个简单的Python程序为GUI中给定的输入解出一个等式,python,tkinter,Python,Tkinter,所以我编写了这段代码,我试图让python从GUI中用变量赋值来求解一个方程,然后显示答案。您应该只需要给出其中两个变量的值,其余的应该求解。我对python还是相当陌生的。这是一场游戏,我得到的是: from Tkinter import * class Application(Frame): def __init__(self, master): Frame.__init__(self,master) self.grid() sel
from Tkinter import *
class Application(Frame):
def __init__(self, master):
Frame.__init__(self,master)
self.grid()
self.d = 0
self.size = 0
self.mil = 0
self.create_widgets()
def create_widgets(self):
self.L1 = Label(self)
self.L2 = Label(self)
self.L3 = Label(self)
self.L1.grid(column = 1, row = 1)
self.L2.grid(column = 1, row = 2)
self.L3.grid(column = 1, row = 3)
self.L1["text"] = "Distance from Target " + str(self.d) + "m"
self.L2["text"] = "Size of Target " + str(self.size) + "mils"
self.L3["text"] = "Mil Dot adj " + str(self.mil)
self.entryd = Entry(self, bd=5)
self.entryd.grid(column = 2, row = 1, padx = 10)
self.entrysize = Entry(self, bd=5)
self.entrysize.grid(column = 2, row = 2)
self.entrymil = Entry(self, bd=5)
self.entrymil.grid(column = 2, row = 3)
self.button1 = Button(self)
self.button1["text"] = "Calculate Kill Shot"
self.button1["command"] = self.calc
self.button1.grid(column = 2, row = 4)
def calc(self):
self.d = self.entryd.get()
self.size = self.entrysize.get()
self.mil = self.entrymil.get()
self.L1["text"] = "Distance from Target " + str(self.d) + "m"
self.L2["text"] = "Size of Target " + str(self.size) + "mils"
self.L3["text"] = "Mil Dot adj " + str(self.mil)
#self.d = self.size * 1000 / self.mil
#above is the equation i tried using.
root = Tk()
root.title("heeey")
root.geometry("400x400")
app = Application(root)
root.mainloop()
我见过一些人使用sympy,我试过了,但没有成功。任何信息都会非常有用,谢谢 看起来唯一的问题是错误的描述:
TypeError: unsupported operand type(s) for /: 'str' and 'str'
这意味着你要把一个字符串除以一个字符串。在进行计算之前,只需将字符串转换为数字:
self.d = int(self.size) * 1000 / int(self.mil)
大家好,欢迎来到StackOverflow。请花些时间阅读帮助页面,特别是命名和的部分。更重要的是,请阅读。您可能还想了解。