본문 바로가기
Python/코딩도장

코딩도장_파이썬 심사문제 37.3 (두 점 사이의 거리 구하기)

by 비전공자 기록광 2020. 8. 16.
반응형

표준 입력으로 x, y 좌표 4개가 입력되어 Point2D 클래스의 인스턴스 리스트에 저장됩니다. 여기서 점 4개는 첫 번째 점부터 마지막 점까지 순서대로 이어져 있습니다. 다음 소스 코드를 완성하여 첫 번째 점부터 마지막 점까지 연결된 선의 길이가 출력되게 만드세요.

 

문제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import math
 
class Point2D:
    def __init__(self, x=0, y=0):
        self.x = x
        self.y = y
 
length = 0.0
= [Point2D(), Point2D(), Point2D(), Point2D()]
p[0].x, p[0].y, p[1].x, p[1].y, p[2].x, p[2].y, p[3].x, p[3].y = map(int, input().split())
 
_____________________
_____________________
_____________________
_____________________
 
print(length)
cs

 

 

입력

10 10 20 20 30 30 40 40

결과

42.42640687119285

 

입력

100 100 200 200 300 300 400 400

결과

424.26406871192853


1
2
for i in range(len(p)-1):
    length+=math.sqrt((p[i+1].x-p[i].x)*(p[i+1].x-p[i].x)+(p[i+1].y-p[i].y)*(p[i+1].y-p[i].y)) #(a*a)+(b*b)
cs

 

반응형

댓글