私はまだpythonに慣れておらず、コツをつかもうとしています。簡単なreturnメソッドを学ぼうとしていますが、コツをつかめないようです。私は2点間の距離を見つけようとしてきましたが、これが今のところです。誰かがこれを理解するのを手伝ってくれるなら、それは非常に役に立ちます!ありがとう!
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
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
結果を変数に格納します
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)
Eclipse PyDevでは、次のように実行できます。
import math
p1 = (2, 4)
p2 = (6, 8)
dist = math.hypot(p2[0] - p1[0], p2[1] - p1[1])
print (dist)
あなたはほとんど正しい考えを持っています(あなたの関数ロジックは正しいです)が、関数の結果を使用するための構文は正しくありません。目的の結果を得るには、次のいずれかを実行できます。
関数呼び出しの結果を変数に保存します。
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
または直接印刷する:
def calculateDistance(x1,y1,x2,y2):
dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
return dist
print calculateDistance(2,4,6,8)
print calculateDistance(2,4,6,8)
数学の関数のように考えてください。値が必要な位置に関数呼び出しを置きます。または、値を変数に格納することもできます。
dist = calculateDistance(2,4,6,8)
print dist
(これは数学のようには機能しません。)
「returnメソッド」が何であるかはわかりません。ここにあるのは単純な関数です。
ただし、実行しているのはそれを呼び出すことですが、結果には何もしていません。次に、結果ではなく実際の関数自体を出力します。
あなたはおそらく意味します:
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で距離の計算を呼び出すと、関数と4つのパラメーターを持つオブジェクトが返されると思います。
幸運を
Python関数呼び出し(calculateDistance(2, 4, 6, 8)
)に遭遇し、関数を評価し、文字通りコード行calculateDistance(2, 4, 6, 8)
を次の数値に置き換えることを想像してみてください。関数が戻ります。たとえば、_7
_とします。
したがって、行にcalculateDistance(2, 4, 6, 8)
を単独で入力すると、行に_7
_を単独で入力するのと同じように機能します。 do変数に格納するなど、その値を持つものを実行する必要があります
dist = calculateDistance(2, 4, 6, 8)
またはすぐに印刷してください
print calculateDistance(2, 4, 6, 8)