我一直在尝试制作一个计算器,在我的电磁学课程的 Jupyter Notebook 上使用 Tkinter 查找给定 3 维向量的大小。
我得到了以下代码,该代码可以工作,但它为每个输入坐标提供 3 个条目小部件,并且输入的数字仅出现在与 z 坐标相对应的最后一个小部件中。代码:
from tkinter import *
root = Tk()
root.title("Calculator")
coordinates = []
n=0
X = Entry(root)
X.insert(END, "Enter the x-coordinate")
X.grid(row=0, column=0, columnspan=3, padx=12, pady=15)
Y = Entry(root)
Y.insert(END, "Enter the y-coordinate")
Y.grid(row=1, column=0, columnspan=3, padx=12, pady=15)
Z = Entry(root)
Z.insert(END, "Enter the z-coordinate")
Z.grid(row=2, column=0, columnspan=3, padx=12, pady=15)
def x():
global n
n=1
def y():
global n
n=2
def z():
global n
n=3
def S(m):
if n == 1:
a = X.get()
X.delete(0,END)
X.insert(0,str(a)+str(m))
coordinates.append(X)
if n == 2:
b = Y.get()
Y.delete(0,END)
Y.insert(0,str(b)+str(m))
coordinates.append(Y)
if n == 3:
c = Z.get()
Z.delete(0,END)
Z.insert(0,str(c)+str(m))
coordinates.append(Z)
def clear():
X.delete(0,END)
Y.delete(0,END)
Z.delete(0,END)
def equal():
sq = 0
for d in coordinates:
e = float(d.get())
sq = sq + e**2
mag = sq**0.5
val = Label(root, text="The magnitude of the vector is: " + str(mag))
val.grid(row=3, column=0, columnspan=3, padx=12, pady=15)
无论我使用按钮 x、y 还是 z,只有第三个条目小部件接受输入。我该如何解决这个问题?
慕码人8056858
相关分类