Python 中函数参数的语法错误 [duplicate]

Syntax error for function arguments in Python [duplicate]

提问人:Kiet-del 提问时间:9/23/2023 最后编辑:Kiet-del 更新时间:9/24/2023 访问量:31

问:

我正在做老师布置的家庭作业,他希望我用 Python 编写一个函数,该函数将两对浮点数作为参数,而不是四个用逗号分隔的浮点数。一个函数,应该看起来像这样,dist_SNCF((2,1),(1,1))。

这是我的程序:

def dist_SNCF((x1,y1),(x2,y2)):
    if abs(x1 * y2 -y1 * x2) <= 10**(-10):
        return dist_eucl(x1-x2,y1-y2)
    else:
        return dist(x1,y1)+dist(x2,y2)

但是,似乎我不能简单地这样做。因为它被标记为函数参数的语法错误。

Python 函数 参数

评论


答:

1赞 wim 9/23/2023 #1

您可能正在使用较旧的材料。这是 Python 2.7 中的有效语法,但在 Python 3.0 中删除了。请参阅 PEP 3113 – 删除元组参数解包

Python 2/3 交叉兼容代码的解决方法:

def dist_SNCF(tup1, tup2):
    (x1, y1), (x2, y2) = tup1, tup2
    ...