【问题描述】
给定两颗星星的赤经和赤纬的角度 (a1, d1)和(a2, d2)
它们所对弧的角度计算公式为:
赤经a1和a2是 -180o~ 180o 之间的角,a=a2-a1
赤纬d1和d2是 -90o~ 90o 之间的角,d=d2-d1
请编写一个函数,接收两颗星星赤经和赤纬的角度作为参数,计算并返回这两颗星星所对弧的角度。
其中主程序已经给出部分代码,完成的功能是接收用户输入的两颗星星的赤纬和赤经,并打印输出结果(显示小数点后4位)
【输入形式】
分别输入两颗星星各自的赤经,赤纬
【输出形式】
输出两个星星所对弧度角度(弧度值),显示到小数点后4位
【样例输入】
-120, 30
90, 60
【样例输出】
1.5128
【样例说明】
【评分标准】
from math import sin,cos,asin,radians,sqrt
def getSubtend(star1, star2):
a1,d1 = star1
a2,d2 = star2
a = radians(a2-a1)
d = radians(d2-d1)
d1 = radians(d1)
d2 = radians(d2)
return 2*asin(sqrt(sin(d/2)**2+cos(d1)*cos(d2)*sin(a/2)**2))
def main():
star1 = eval(input(''))
star2 = eval(input(''))
print("%.4f" % getSubtend(star1, star2))
main()