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

我使用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 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()
查看计算的每个步骤得到的结果,并将其与纸上的手动计算进行比较。简单地说:调试您的计算。