Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中使用返回方法计算两点之间的距离?_Python_Return_Distance - Fatal编程技术网

如何在python中使用返回方法计算两点之间的距离?

如何在python中使用返回方法计算两点之间的距离?,python,return,distance,Python,Return,Distance,我对python还是新手,一直在尝试掌握它的窍门。我一直在尝试学习简单的返回方法,但我似乎没有掌握它的窍门。 我一直在努力寻找两点之间的距离,这就是我目前所知道的。 如果有人能帮我解决这个问题,那将非常有帮助!谢谢大家! import math def calculateDistance(x1,y1,x2,y2): dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2) return dist calculateDistance(2,4

我对python还是新手,一直在尝试掌握它的窍门。我一直在尝试学习简单的返回方法,但我似乎没有掌握它的窍门。 我一直在努力寻找两点之间的距离,这就是我目前所知道的。 如果有人能帮我解决这个问题,那将非常有帮助!谢谢大家!

import math

def calculateDistance(x1,y1,x2,y2):
     dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
     return dist

calculateDistance(2,4,6,8)

print calculateDistance

您的想法基本正确(函数逻辑正确),但使用函数结果的语法不正确。要获得所需的结果,可以执行以下操作之一:

将函数调用的结果保存在变量中:

def calculateDistance(x1,y1,x2,y2):
     dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
     return dist

some_variable = calculateDistance(2,4,6,8)

print some_variable
dist = calculateDistance(2,4,6,8)
print dist
或直接打印:

def calculateDistance(x1,y1,x2,y2):
     dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
     return dist

print calculateDistance(2,4,6,8)

将结果存储在变量中

import math

def calculateDistance(x1,y1,x2,y2):
     dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
     return dist

distance = calculateDistance(2,4,6,8)

print distance
或者直接打印结果

import math

def calculateDistance(x1,y1,x2,y2):
     dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
     return dist

print calculateDistance(2,4,6,8)
把它想象成数学中的一个函数。将函数调用置于需要其值的位置。或者,您可以将值存储在变量中:

def calculateDistance(x1,y1,x2,y2):
     dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
     return dist

some_variable = calculateDistance(2,4,6,8)

print some_variable
dist = calculateDistance(2,4,6,8)
print dist
(这和数学不一样。)

我不知道什么是“返回方法”——这里的函数很简单

不过,您正在做的是调用它,但没有对结果执行任何操作:然后打印实际函数本身,而不是结果

你可能是说:

distance = calculateDistance(2,4,6,8)
print distance
甚至

print calculateDistance(2,4,6,8)

所以我不确定你的错误是什么

如果您想要号码,只需:

def calcdist(x, y, x1, y1):
     return math.sqrt((x-x1)**2 + (y2-y1)**2)

dist = calcdist(#, #, #, #)
print dist
现在您正在返回函数
math.sqrt(…)
所以当你用2,4,6,8调用calculate distance时,你会返回一个具有函数和4个参数的对象,我想


祝你好运

想象Python正在运行函数调用(
CalculateInstance(2,4,6,8)
),评估函数,并用函数返回的数字替换代码行
CalculateInstance(2,4,6,8)

因此,单独在一行上键入
CalculatedInstance(2,4,6,8)
与单独在一行上键入
7
一样有效。您需要对该值执行一些操作,比如将其存储在变量中

import math

def calculateDistance(x1,y1,x2,y2):
     dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
     return dist

distance = calculateDistance(2,4,6,8)

print distance
dist=CalculatedInstance(2,4,6,8)

或者直接打印出来


打印计算距离(2,4,6,8)

为什么不使用math.hypot()来计算距离

>>> import math
>>> p1 = (3, 5)  # point 1 coordinate
>>> p2 = (5, 7)  # point 2 coordinate
>>> math.hypot(p2[0] - p1[0], p2[1] - p1[1]) # Linear distance 
2.8284271247461903

在Eclipse PyDev中,您可以如下所示:

import math
p1 = (2, 4)  
p2 = (6, 8)  
dist = math.hypot(p2[0] - p1[0], p2[1] - p1[1])

print (dist)

尝试:
打印计算站(2,4,6,8)
;-)非常感谢。成功了!我不敢相信我自己没有想到--虽然这样做有效,但答案并没有解决问题中的问题-用户没有正确打印函数的返回值这一事实。此外,用户还特别提到编写一个返回值的函数,而用户打印它。