1단원 쪽지시험 정답: 데이터 타입과 변수¶
1번 (과제 문제 1 응용 — / vs //)¶
① 3.5
② 3
③ <class 'float'>
④ <class 'int'>
과제에서 10 / 5 (나누어 떨어짐)를 다뤘다면, 여기선 7 / 2 (나누어 떨어지지 않음)로 출제.
/가 항상 float를 반환한다는 사실이 바뀌지 않음.
2번 (과제 문제 2 응용 — bool 산술)¶
① 3
② 5
③ <class 'int'>
과제에서 True + True, True * 10을 다뤘다면, 여기선 False + 3, True * 5로 출제.
False = 0, True = 1 원리는 동일.
3번 (과제 문제 3 응용 — 타입 변환)¶
① 2
② 5
③ True
④ False
| 항목 | 결과 | 핵심 |
|---|---|---|
① int(2.7) |
2 |
반올림이 아닌 버림 (과제 int(3.9) → 3과 동일 원리) |
② int(float("5.99")) |
5 |
float 거쳐서 int 변환, 역시 버림 |
③ bool("False") |
True |
비어있지 않은 문자열은 모두 True (과제 bool("0") → True와 동일 원리) |
④ bool("") |
False |
빈 문자열만 False |
③이 가장 헷갈리는 문항. 문자열 "False"는 불리언 False가 아님.
4번 (과제 문제 4 응용 — 변수 재대입)¶
① 15
② 20
③ False
과제에서 a = a + 5를 다뤘다면, 여기선 a = a - 5로 출제.
b = a 이후 a가 바뀌어도 b는 변하지 않는다는 원리는 동일.
5번 (과제 문제 5 응용 — str vs int 연산)¶
① 88
② 16
③ <class 'str'>
④ <class 'int'>
| 항목 | 식 | 결과 | 이유 |
|---|---|---|---|
| ① | "8" * 2 |
88 |
str × int → 문자열 반복 |
| ② | int("8") * 2 |
16 |
int × int → 산술 곱셈 |
| ③ | type("88") |
<class 'str'> |
문자열 반복 결과는 str |
| ④ | type(16) |
<class 'int'> |
산술 곱셈 결과는 int |
과제에서 / vs //로 타입 차이를 다뤘다면, 여기선 str * int vs int * int로 연산자에 따른 타입 차이 출제.