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

问题描述 投票:-2回答:1

以下是我在下面创建的内容。我的女儿必须有一个更有效的方法开始执行此操作的编码器。什么是最有效的编码方法?我特别希望看到更好的编写我称之为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)

以下是我在下面创建的内容。对于作为入门编码员的女儿,必须有一种更有效的方法来实现此目的。最有效的编码方法是什么?我...

python performance reference angle
1个回答
1
投票

我认为您可以通过两个步骤完成此操作

© www.soinside.com 2019 - 2024. All rights reserved.