Python运行欧几里得距离代码时print语句报错问题排查
报错原因排查
- 该问题是Python大版本语法差异导致的,你当前运行代码的环境为Python 3.x版本,代码里的print写法是Python 2.x的规范:
- Python 2中print是独立语句,不需要加括号,
print euclidean_distance(...)的写法合法 - Python 3中print被调整为内置函数,调用必须用括号包裹参数,所以原来的写法会直接触发语法错误
- Python 2中print是独立语句,不需要加括号,
修复方案
把print所在行改为函数调用写法即可,修复后完整代码如下:
from math import* def euclidean_distance(x,y): return sqrt(sum(pow(a-b,2) for a, b in zip(x, y))) print(euclidean_distance([0,3,4,5],[7,6,3,-1]))
修复后运行可正常输出计算结果9.0。
内容的提问来源于stack exchange,提问作者ionecum
相关产品推荐
相关产品推荐

