해결된 질문
작성
·
21
0
강사님 안녕하세요 새로운 올리신 t1-37.purchase-py 문제2에 관련해서 질문남깁니다.
혹시 소수점 절사라고 해서
프리미엄 = df[(df['세그먼트'] =='프리미엄') & (df['카테고리'] =='생활용품')]['구매금액'].mean()
일반 = df[(df['세그먼트'] =='일반') & (df['카테고리'] =='생활용품')]['구매금액'].mean()
print(int(프리미엄 - 일반))
바로 int()로 했는데 7729가 나와서 혹시 소수점 절사라는 조건 나오면 강사님처럼 int(round())해야하는거죠?
감사합니다
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 변재현님께서 질문하신 소수점 절사와 관련하여 설명드리겠습니다.
일반적으로 소수점 절사(버림)라는 의미는 소수점을 완전히 제거하고 정수 부분만 남기는 것을 의미합니다. int()
함수는 이와 같은 절사 작업을 수행하므로, int()
만 사용해도 목표를 달성할 수 있습니다. 즉, int(프리미엄 - 일반)
는 차이의 소수점 이하를 제거하고 정수로 반환합니다.
하지만 강사님이 int(round())
를 사용하신 이유는 반올림해서 정수로 변환하는 방법을 제시하기 위해서일 수 있습니다. round()
함수는 소수점을 반올림한 후, int()
로 변환하여 반올림된 값을 반환합니다.
따라서 “소수점 절사”라는 요구조건이 명확히 절사 방식인지 반올림인지를 이해하고, 문제의 최종 요구사항에 따라 적절한 방법을 선택하시면 됩니다. 일반적으로 소수점 절사라고 명시되어 있더라도, 시험 문제의 지시에 따라 더 나은 결과를 얻을 수 있도록 round()로 정밀도를 추가하는 경우도 있습니다.
관련하여 이해를 돕기 위해 아래 질문들을 참고해보시면 좋을 것 같습니다:
이 정보가 변재현님의 문제 해결에 도움이 되길 바랍니다. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다!!