콘텐츠로 이동

7단원 쪽지시험 정답: 모듈 & 패키지


문제 1. math 모듈

① -3
② -2
③ 12.0
④ 1
⑤ 3.14

해설

항목 결과 이유
floor(-2.3) -3 더 작은 정수 방향 (음수 주의!)
ceil(-2.3) -2 더 큰 정수 방향
sqrt(144) 12.0 float 반환
factorial(0) 1 0! = 1 (수학적 정의)
round(pi, 2) 3.14 소수점 2자리 반올림

문제 2. __name__

app.py 실행 시:

① utils loaded: __name__ = utils
② 14

해설

from utils import double이 실행되면 utils.py 전체가 로드됩니다. 이때 __name__"utils"이므로 if __name__ == "__main__": 블록은 실행되지 않습니다. double(7) = 7 * 2 = 14


문제 3. json 변환

① <class 'str'>
② 3
③ True
④ 2

해설

항목 결과 이유
type(text) <class 'str'> dumps() → 문자열
back["x"] + back["y"][0] 3 1 + 2
back["z"] is True True JSON true → Python True
len(back["y"]) 2 리스트 [2, 3]의 길이

문제 4. random + sorted

seed(0) 결과는 버전마다 다를 수 있지만, 형식은 동일합니다.

① (seed에 따른 3개 리스트, 예: ['b', 'e', 'a'])
② 위 리스트를 알파벳순 정렬 (예: ['a', 'b', 'e'])
③ 5
④ <class 'float'>

sample vs choices 차이: - random.sample(seq, k): 중복 없이 k개 선택 - random.choices(seq, k=k): 중복 허용하여 k개 선택


문제 5. os.path

① home/user/docs/file.txt
② file.txt
③ home/user/docs
④ ('home/user/docs/file', '.txt')
⑤ False

해설

함수 결과 이유
os.path.join(...) home/user/docs/file.txt OS 구분자로 연결
basename file.txt 마지막 파일명만
dirname home/user/docs 부모 디렉토리
splitext ('...file', '.txt') 확장자 분리
exists False 실제 파일 없음