2016-09-30 3 views
0

나는 파이썬에서 초보자입니다. 나는 2d에서 길이의 길이를 찾아 내야한다. 나는 내가 뭘 잘못하고 있는지 전혀 모른다. 도와주세요!별도의 단계에서 2 차원 경로의 길이를 측정하는 방법

import math 
vector1 = v1 
vector2 = v2 
def length (v): 

    """ Length of a vector in 2-space. 

    Params: v (2-tuple) vector in 2-space 
    Returns: (float) length 
    """ 
    v = sqrt(v1**2 + v2**2) 
    return v 



def dist (P,Q): 

    """ Distance in 2-space. 

    Params: 
     P (2-tuple): a point in 2-space 
     Q (2-tuple): another point in 2-space 
    Returns: (float) dist (P,Q) 
    """ 
    dist = [(Q - P) **2] 
    dist = math.sqrt(sum(dist)) 
    return dist 


P = [p0, p1] 
Q = [q0, q1] 
def pathLength2d (pt): 

    """Length of a 2-dimensional path. 

    Standard length as measured by a ruler. 

    Params: pt (list of 2-tuples): path in 2-space 

    Returns: (float) length of this path 
    """ 
    pt = math.hypot(q0 - p0, q1 -p1) 
    return pt 

print (pathLength2d ([(0,0), (1,1)])) 
+0

글의 형식을 올바르게 지정하십시오. 서식이 여기 저기에 있습니다. 소식을 올리려면 도움말 센터를 참조하십시오. 그렇지 않으면 닫힙니다. 당신이 그것을 개선하지 않으면, 당신은 낮은 품질의 답변을 얻을 것이다, 그것을 제거하는 투표. – techydesigner

답변

0

예, 형식을 수정하고 모든 것을 4 칸 이동하십시오.

하지만 첫 번째 방법은 생각 :

def length(v): 
    """ Length of a vector in 2-space. 
    Params: v (2-tuple) vector in 2-space 
    Returns: (float) length 
    """ 
    v1 = v(0) 
    v2 = v(1) 
    v = math.sqrt(v1**2 + v2**2) 
    return v 

당신은 또한 다음을 수행해야합니다

def length(v): 
     """ Length of a vector in 2-space. 
     Params: v (2-tuple) vector in 2-space 
     Returns: (float) length 
     """ 
     v = sqrt(v1**2 + v2**2) 
     return v 

이 메소드는,이처럼 그들을 정의 할 필요가있는 것을 v1 및 v2를 모르는 use math.sqrt

거리 함수의 경우 두 개의 튜플을 뺄 수 없습니다. 다음과 같은 내용이 필요합니다.

def dist(P, Q): 
    """ Distance in 2-space. 
    Params: 
     P (2-tuple): a point in 2-space 
     Q (2-tuple): another point in 2-space 
    Returns: (float) dist (P,Q) 
    """ 
    dist = math.sqrt((P[0] - Q[0])**2 + (P[1]-Q[1])**2) 
    return dist 
관련 문제