from math import *
#计算太阳赤纬
t=int(input("请输入t:"))
sita=2*pi*t/365#单位弧度
chiwei=0.006918-0.399912*cos(sita)+0.070257*sin(sita)-0.006758*cos(2*sita)+0.000907*sin(2*sita)-0.002697*cos(3*sita)+0.00148*sin(3*sita)
print(chiwei)
b=degrees(chiwei)#b为度数
print(b)
#计算日可照时数
weidu=float(input("请输入纬度:"))
g1=radians(45+(weidu-b+0.566667)/2)
s1=sin(g1)
g2=radians(45-(weidu-b-0.566667)/2)
s2=sin(g2)
shang=s2*s1
weiduhu=radians(weidu)#转弧度
c1=cos(weiduhu)
c2=cos(chiwei)
xia=c1*c2
m=degrees(asin(sqrt(shang/xia)))#转为度数
T=4*m
print(T)
输出结果始终为200多,日可照时数(就不可能)。
附上计算太阳赤纬的公式:
计算可照时数的公式: