Python 为什么我的程序没有显示结果向量的正确方向?
我使用tkinter库在python中创建了一个简单的程序,使用初始向量的大小和它们之间的角度来计算结果向量。结果向量的大小是正确的,但向量的方向是错误的。我的代码中有什么错误?以下是完整的代码:Python 为什么我的程序没有显示结果向量的正确方向?,python,tkinter,Python,Tkinter,我使用tkinter库在python中创建了一个简单的程序,使用初始向量的大小和它们之间的角度来计算结果向量。结果向量的大小是正确的,但向量的方向是错误的。我的代码中有什么错误?以下是完整的代码: import tkinter as tk import math window = tk.Tk() vectorlabel = tk.Label(text = "This is a simple program to calculate the resultant of two vector
import tkinter as tk
import math
window = tk.Tk()
vectorlabel = tk.Label(text = "This is a simple program to calculate the resultant of two vectors. Please input the magnitude of the two vectors, A and B:")
vectorlabel.pack()
entry1 = tk.Entry()
entry1.pack()
entry2 = tk.Entry()
entry2.pack()
anglelabel = tk.Label(text = "Please enter the angle between the two vectors, in degrees:")
anglelabel.pack()
entry3 = tk.Entry()
entry3.pack()
def vectoraddition () :
a = int(entry1.get())
b = int(entry2.get())
c = int(entry3.get())
maglabel = tk.Label(text = "The magnitude of the resultant vector is: "+ str(math.sqrt(a*a+b*b+2*a*b*(math.cos(math.radians(c))))))
maglabel.pack()
def vectordirection () :
a = int(entry1.get())
b = int(entry2.get())
c = int(entry3.get())
dilabel = tk.Label(text = "The resultant vector makes an angle of "+ str(math.asin(math.radians((b*math.sin(math.radians(c)))/(math.sqrt(a*a+b*b+2*a*b*(math.cos(math.radians(c)))))))))
dilabel.pack()
addbutton = tk.Button(text = "Find the magnitude of the resultant vector.",
command = vectoraddition,
master = window)
addbutton.pack()
dibutton = tk.Button(text = "Find the angle the resultant vector makes with vector A:",
command = vectordirection,
master = window)
dibutton.pack()
正如一个提示,你应该看一看并考虑使用。什么意思<代码>错误< /代码>?你得到了什么结果?你期望得到什么结果?也许它只需要在某个地方使用不同的符号,或者它需要将
sin
替换为cos
。在问题中展示,而不是在评论中。也许可以将计算分为多个步骤/行,然后使用print()
查看计算的每个步骤得到的结果,并将其与纸上的手动计算进行比较。简单地说:调试您的计算。