我正在尝试用python制作一个余弦定律计算器
我正试图写一个程序,它的边是“a”,边是“b”,角是“C”。然后它将输出侧“c” 我得到一个整数错误,我不知道出了什么问题 这是我的密码:我正在尝试用python制作一个余弦定律计算器,python,python-2.7,Python,Python 2.7,我正试图写一个程序,它的边是“a”,边是“b”,角是“C”。然后它将输出侧“c” 我得到一个整数错误,我不知道出了什么问题 这是我的密码: import math def triangle(): a=input("Enter side a:") b=input("Enter side b:") angle=input("What is the angle:") side=(a**2)+(b**2) rest=(2*(a*b))(math.cos(angle
import math
def triangle():
a=input("Enter side a:")
b=input("Enter side b:")
angle=input("What is the angle:")
side=(a**2)+(b**2)
rest=(2*(a*b))(math.cos(angle))
done=side-rest
end=math.sqrt(done)
print end
triangle()
可能是因为您在以下内容中遗漏了“*”: 应该是:
rest=(2*(a*b)) * (math.cos(angle))
您的问题是这一行:
rest=(2*(a*b))(math.cos(angle))
您缺少一个*
操作员:
rest=(2*(a*b))*(math.cos(angle))
您还过度使用了括号:
rest = 2 * a * b * math.cos(angle)
问题的原因是python认为您试图调用表达式
(2*(a*b))
的结果。但是,这是一个int
,它不是一个可调用的对象。TypeError:“int”对象不是可调用的,与您的错误无关,但您是否输入了以度或弧度为单位的角度?如果是度数,则在将其传递给math.cos()之前应将其转换为弧度。感谢Jim Lewis修复了计算错误。我想注意,任何对象声明后面的左括号将尝试调用该对象。Python认为您所说的是类似于2*(a*b)。\uuuu调用(math.cos(angle))
rest = 2 * a * b * math.cos(angle)