06단계 · 실전으로 넘어가기

출력 형식과 반올림 함정

제출 형식에 맞춰 자리수를 고정하고, `round` 의 함정을 미리 만나 둔다.

먼저 알아볼게요

코드로 이동 ↓

문제가 "반올림하여 소수점 둘째 자리까지" 처럼 형식을 지정하면 그대로 맞춰서 낸다. 채점이 어디까지 봐주는지는 우리가 알 수 없으니, 지시된 자리수를 그대로 맞추는 쪽이 안전하다.

round(값, 2) 는 숫자를 돌려주고, f"{값:.2f}" 는 문자열을 돌려준다. 차이는 끝자리 0 에서 드러난다: round(1.50, 2) 는 1.5 로 보이지만 f"{1.50:.2f}" 는 1.50 이다. 둘째 자리까지 적으라는 지시에는 f-string 이 안전하다.

`round` 는 우리가 배운 반올림과 조금 다르다. round(2.675, 2) 는 2.68 이 아니라 2.67 이다. 컴퓨터가 2.675 를 정확히 저장하지 못해 실제로는 2.67499... 이기 때문이다. 버그가 아니라 실수(부동소수) 표현의 한계다.

정수 자리에서도 다르다. round(0.5) 는 0, round(1.5) 는 2 다. 파이썬은 애매한 절반을 짝수 쪽으로 보낸다(은행가 반올림).

발문이 중간 단계의 반올림을 지정하면 그 지시를 따른다. 그런 지시가 없다면 중간 계산의 정밀도를 유지하고 최종 결과를 지정한 자릿수로 출력한다.

이렇게 써요
value = 3.14159
print(round(value, 3))
print(f"{value:.3f}")
print(f"{2.5:.0f}", f"{3.5:.0f}")
기억할 한 가지

자리수를 정확히 맞출 때는 f-string. 중간 반올림이 따로 지정되지 않았다면 최종 결과에서 자릿수를 맞춘다.

이 단계의 수업
  1. 1help 와 dir — 함수 사용법 찾아보기
  2. 2파일 확인하기
  3. 3출력 형식과 반올림 함정
  4. 4제출 파일 규격 직접 확인하기
  5. 5세 유형을 한 번에 — 그리고 실전 문항으로
직접 해보기

v = 0.0114567 에 대해 ① round(v, 2) ② f"{v:.2f}" ③ round(1234.5678, 2) ④ round(2.675, 2) ⑤ f"{1.5:.2f}" ⑥ round(0.5) 와 round(1.5) 를 한 줄에 출력하세요.

내 코드 Python
Python 준비 중… 처음 한 번만 내려받아요

들여쓰기: Tab · 편집기에서 나가기: Esc 다음 Tab

실행 결과

실행하면 코드가 출력한 내용이 여기에 나타나요.

막혔을 때

풀이와 비교하기

내 코드와 한 줄씩 비교해 보세요. 풀이를 보는 것만으로 완료되지는 않아요.

v = 0.0114567
print(round(v, 2))
print(f"{v:.2f}")
print(round(1234.5678, 2))
print(round(2.675, 2))
print(f"{1.5:.2f}")
print(round(0.5), round(1.5))