python 语法错误 3.4 函数定义
Syntax error in python 3.4 function definition
我在 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)
如果您的函数在 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)
我在 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)
如果您的函数在 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)