考虑以下代码:
def distancias(altitudes,lado,p1,p2):
p1=(r1,c1)
p2=(r2,c2)
a1=altitudes[p1]
a2=altitudes[p2]
d=math.sqrt((lado(r1-r2)**2)+(lado(c1-c2)**2)+(a1-a2)**2)
return d
海拔高度是一个矩阵,p1
和p2
是矩阵的元素。
当我调用函数distancias(teste, 20, (2, 0), (3, 1))
时,它给了我这个错误:
Traceback (most recent call last):
File "<ipython-input-11-6c6a4bb1ff77>", line 1, in <module>
distancias(teste, 20, (2, 0), (3, 1))
File "C...", line 5, in distancias
p1=(r1,c1)
NameError: name 'r1' is not defined
"Name Error: name is not defined".
(由于我是Python新手,所以我想更好地理解它)
答案 0 :(得分:0)
您好,这是因为“ r1,c1,r2,c2”不是函数distancias的定义。 因此,使用前应先定义这些变量。实际上,您应该发布完整的代码,以更好地理解其他人。但是,如果您可以使用此代码,则应该更改类似的内容。
`def distancias(altitudes,lado,r1,r2,c1,c2):
p1=(r1,c1)
p2=(r2,c2)
a1=altitudes[p1]
a2=altitudes[p2]
d=math.sqrt((lado(r1-r2)**2)+(lado(c1-c2)**2)+(a1-a2)**2)
return d`