작성자 없음
작성자 정보가 삭제된 글입니다.
21.02.10 15:42 작성
·
274
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])에 대해 설명해 드리면
짝수인 경우는 내림하고, 홀수인 경우는 올림을 합니다.
여기서 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
코드를 실행하면 위 출력 결과처럼 나옵니다.
.
좀 더 쉬운 설명은 아래 링크를 참고하시면 이해가 더욱더 빠르게 이해하실 거로 생각합니다 :)
--------------------------------------------------------------------------
정리하면, 저는 이렇게 이해했습니다.
정수 부분이 짝수인 경우는 소수점 뒤에 있는 숫자를 내린다.
정수 부분이 홀수인 경우는 소수점 뒤에 있는 숫자를 올린다.
0은 짝수도 홀수도 아니기 때문에 0으로 출력된다.
--------------------------------------------------------------------------
도움이 되었으면 우측하단 또는 좌측하단에 하트 한 번만 눌러주세요 :)
또한, 해결이 안된 경우 답글 작성 부탁드립니다!