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

问题描述 投票:0回答:1

我正在做老师布置的作业,他希望我用 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 function arguments
1个回答
1
投票

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

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

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

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