인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

Built-in Functions(1-2)

round함수 질문

작성

·

284

1

print(round(6.5))를 하면 답이 왜 6인가요? 5.5는 6, 7.5는 8이던데.. 왜 6.5만 이런지 모르겠어요. 

답변 2

3

https://docs.python.org/ko/3/library/functions.html?highlight=round#round

위 링크는 python 공식문서입니다.

round(number[,ndigits])에 대해 설명해 드리면

짝수인 경우는 내림하고, 홀수인 경우는 올림을 합니다.

  • 0은 짝수도 홀수도 아니기 때문에 0입니다!

여기서 ndigits에서 digits는 사전적 의미로 밑 기수를 나타냅니다.

기수는 개수 혹은 자리와 의미가 같습니다.

그래서 ndigits는 n의 자리로 생각하시면 편할듯합니다 :)

(이 부분은 수학적이라 좀 어렵네요. 밑은 로그 y=logax나 지수 함수 y=ax에서 a를 가리키는 말)

.

아래 예시를 통해 보면 이해를 하실 거로 생각합니다!

print(round(6.5781, 1)) # 첫째자리에서 반올림
print(round(6.5781, 2)) # 둘째자리에서 반올림
print(round(6.5781, 3)) # 셋째자리에서 반올림
print(round(0.5)) # 0이므로 내림 (양수여도 0)
print(round(-0.5)) # 0이므로 내림 (음수여도 0)
print(round(1.5, 1)) # 첫째자리에서 반올림
print(round(5.6)) # 정수부분이 홀수임으로 올림

# 출력 결과
# 6.6
# 6.58
# 6.578
# 0
# 0
# 1.5
# 6

코드를 실행하면 위 출력 결과처럼 나옵니다.

.

좀 더 쉬운 설명은 아래 링크를 참고하시면 이해가 더욱더 빠르게 이해하실 거로 생각합니다 :)

  1. https://wikidocs.net/21113
  2. https://wikidocs.net/22045
  3. https://playthegame00.tistory.com/69

--------------------------------------------------------------------------

정리하면, 저는 이렇게 이해했습니다.

정수 부분이 짝수인 경우는 소수점 뒤에 있는 숫자를 내린다.

정수 부분이 홀수인 경우는 소수점 뒤에 있는 숫자를 올린다. 

0 짝수도 홀수도 아니기 때문에 0으로 출력된다.

--------------------------------------------------------------------------

도움이 되었으면 우측하단 또는 좌측하단에 하트 한 번만 눌러주세요 :)

또한, 해결이 안된 경우 답글 작성 부탁드립니다!

0

print(round(0.5), round(1.5), round(2.5), round(3.5), round(4.5), round(5.5))

print(round(6.5), round(7.5), round(8.5), round(9.5), round(10.5), round(11.5)) 

해봤는데 

0 2 2 4 4 6
6 8 8 10 10 12

이렇게 나오네요 저도 궁금해요

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기