2012-11-29 14 views
4

제 업무는 좌표 시스템에서 직사각형과 0/0 점 사이의 거리를 계산하고 특정 응답을 인쇄하는 것입니다. 거리가 100 미터보다 작 으면 100 미터를 인쇄해야합니다. < 200 미터이면 101 미터 인쇄 ...거리 계산 및 출력

필자는 피타고라스 식을 사용할 수 있음을 배웠습니다. 두 좌표 사이의 거리를 구하는 정리. 내 프로그램 (파이썬)에 그것을 구현했지만 출력에 약간의 문제가있다.

예를 들어 보겠습니다. 좌표가있는 직사각형 (-400,200); (-300, 200); (-300, 300); (-400, 300)은 점 (0/0)에서 360m 떨어져 있습니다. 오른쪽 출력은 "103m"입니다.

누군가는 전에 이렇게 물었고 그들은 100을 통해 거리를 나눠서 "10 {}"에 추가해야한다고했습니다.

print("10{}m".format(distance//100)) 

실제로이 값은 1000 미만의 모든 항목에서 유효합니다. 좌표가 (-4000,2000) 일 경우; (-3000, 2000); (-3000, 3000); (-4000, 3000)이면 정확한 거리는 "3605m"이고 "136m"을 출력해야합니다.

내 사례/질문을 이해할 수 있기를 바랍니다.

예를 들어

답변

3
print("{:d}m".format(100+(distance//100))) 

,

In [16]: distance = 50; "{:d}m".format(100+(distance//100)) 
Out[16]: '100m' 

In [17]: distance = 360; "{:d}m".format(100+(distance//100)) 
Out[17]: '103m' 

In [18]: distance = 3605; "{:d}m".format(100+(distance//100)) 
Out[18]: '136m' 
+0

감사합니다! ": d"는 무엇을 의미합니까? – ThinkDifferent

+1

': d '는 값을 정수로 형식화합니다. 입력이 정수가 아니면 'ValueError'를 발생시킵니다. ': d'를 제거하더라도 결과는 같지만 예상되는 입력이 정수라는 것을 강조하고 싶습니다. – unutbu

+0

잘 알고 있습니다. 감사! – ThinkDifferent