Python 错误是什么;名称错误:未定义名称";在这个代码中是什么意思
考虑以下代码:Python 错误是什么;名称错误:未定义名称";在这个代码中是什么意思,python,python-3.x,Python,Python 3.x,考虑以下代码: 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是矩阵的元素 当我调用函数distance(teste,20,(2,0,(3,1))时
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
是矩阵的元素
当我调用函数distance(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".
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
距离(睾丸,20,(2,0,(3,1))
文件“C…”,第5行,距离
p1=(r1,c1)
NameError:未定义名称“r1”
“名称错误:未定义名称”。
(我想更好地理解它,因为我是Python新手)您好,这是因为“r1、c1、r2、c2”不是函数距离的定义。
所以use应该在使用这些变量之前定义它们。事实上,为了更好地理解他人,你应该发布完整的代码。但是如果你想让这篇文章发挥作用,你应该这样做
`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`
除非“name”实际上是
r1
,并且您正在解释,否则您没有发布所有代码(该错误不可能来自此代码段!)。发布实际错误。欢迎使用StackOverflow。为了帮助您解决错误,您需要向我们显示一个完整的代码段,在我们运行该代码时显示该错误。请阅读并遵循。什么是回溯?始终将完整的错误消息(回溯)放在问题中(作为文本,而不是屏幕截图)。还有其他有用的信息。嗯,没有。函数可以访问不是作为参数提供给它的值