2016-09-25 2 views
0

Я работаю с python 3.4 в pygame, но получаю синтаксическую ошибку из-за второй скобки в определении функции Как это исправить?Ошибка синтаксиса в определении функции 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)