Python函数参数语法错误求助:如何接收两对浮点数参数
解决Python函数元组参数解包的语法错误问题
你的代码里的参数定义语法在Python 3中已被移除——Python 2支持def dist_SNCF((x1,y1),(x2,y2))这种直接对元组参数解包的写法,但Python 3取消了该特性,因此会抛出语法错误。
修复方法很简单,改为在函数内部手动解包传入的元组参数:
def dist_SNCF(point1, point2): # 手动解包两个点元组 x1, y1 = point1 x2, y2 = point2 if abs(x1 * y2 - y1 * x2) <= 10**(-10): return dist_eucl(x1 - x2, y1 - y2) else: return dist(x1, y1) + dist(x2, y2)
修改后,你依然可以用dist_SNCF((2,1),(1,1))的形式调用函数,完全符合题目要求。同时请确保dist_eucl和dist这两个辅助函数已正确定义,避免运行时出现名称错误。
内容的提问来源于stack exchange,提问作者Kiet-del
相关产品推荐
相关产品推荐

