2016-09-25 62 views
0

我正在pygame中使用python 3.4,但由於函數定義中的第二個括號而出現語法錯誤 我該如何解決這個問題?python 3.4函數定義中的語法錯誤

def addVectors((angle1, length1), (angle2, length2)): 
    x = math.sin(angle1) * length1 + math.sin(angle2) * length2 
    y = math.cos(angle1) * length1 + math.cos(angle2) * length2 
    length = math.hypot(x, y) 
    angle = 0.5 * math.pi - math.atan2(y, x) 
    return (angle, length) 

回答

1

如果在2元組傳遞的功能,你應該從元組,像這樣提取單個值:

def addVectors(vector1, vector2): 
    angle1, length1 = vector1 
    angle2, length2 = vector2 
    x = math.sin(angle1) * length1 + math.sin(angle2) * length2 
    y = math.cos(angle1) * length1 + math.cos(angle2) * length2 
    length = math.hypot(x, y) 
    angle = 0.5 * math.pi - math.atan2(y, x) 
    return (angle, length)