用于查找参考角的最有效Python代码



下面是我创建的内容。对于我的女儿来说,必须有一种更有效的方法来实现这一点,她是
初级程序员。什么是最有效的编码方法?我特别希望看到更好的我称之为caseVII的编码方法(负角度小于-360(帮助???

李的关于寻找以度为单位的参考角的PYTHON代码

导入数学

angle = float (input("Enter angle(deg) to calculate reference angle for : "))
#CASE 1 (<90 and > 0)
def caseI(angle):
angle=angle
print("Reference Angle = ",angle)
return (angle)

def caseII(angle):
#CASE II (>90 and <=180 )
angle=180.00-angle
print("Reference Angle = ",angle)
return (angle)
def caseIII(angle):
#CASEIII(>180 and <=270)
angle=angle-180.0
CASEIV(>270 and <360)
angle=360.00-angle
print("Reference Angle = ",angle)
return (angle)
def caseV(angle):
#CASEVI(>360 )
angle=(angle/360 - int (angle/360))*360
if angle >=0 and  angle <= 90:
angle=angle
elif angle >90 and angle <=180:
angle=180.0-angle
elif angle >180 and angle <=270:
angle=angle-180.0
elif angle >270 and angle <=360:
angle=360.00-angle    
print("Reference Angle = ",angle)  

return (angle)

def caseVI(angle):
#CASE (<0 and <=-360)
angle = angle+360
if angle >=0 and  angle <= 90:
angle=angle
elif angle >90 and angle <=180:
angle=180.0-angle
elif angle >180 and angle <=270:
angle=angle-180.0
elif angle >270 and angle <=360:
angle=360.00-angle 
print("Reference Angle = ",angle)
return (angle)
def caseVII(angle):
#CASE7 (<-360 there has to be a more efficient way????)
angle=(angle/360 + abs(int (angle/360))*360)
angle = angle+360
if angle >=0 and  angle <= 90:
angle=angle
elif angle >90 and angle <=180:
angle=180.0-angle
elif angle >180 and angle <=270:
angle=angle-180.0
elif angle >270 and angle <=360:
angle=360.00-angle
print("Reference Angle = ",angle)
return (angle)
if angle >=0 and  angle <= 90:
caseI(angle)
elif angle >90 and angle <=180:
caseII(angle)
elif angle >180 and angle <=270:
caseIII(angle)
elif angle >270 and angle <=360:
caseIV(angle)
elif angle >360:
caseV(angle)
elif angle <0 and angle >=-360:
caseVI(angle)
else:
caseVII(angle)

我认为您可以分两步完成

angle = float (input("Enter angle(deg) to calculate reference angle for : "))
angle = angle%180
if angle > 90 :
angle = 180 - angle
print("Reference Angle = ",angle)

最新更新