Skip to content

Commit c8f4f99

Browse files
committed
up
1 parent 7df7c01 commit c8f4f99

2 files changed

Lines changed: 63 additions & 15 deletions

File tree

conditional.ipynb

Lines changed: 63 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1006,7 +1006,7 @@
10061006
"metadata": {},
10071007
"source": [
10081008
"위 코드의 `if love_python` 조건문에서 `love_python`이 거짓이어서 들여쓰기된 코드 블록이 실행되지 않았다.\n",
1009-
"그런데 그런 경우, 즉 `if` 다음이 거짓으로 판정될 때 실행되는 다른 코드 블록을 `else` 키워드를 이용하여 지정할 수 있다.\n",
1009+
"그런데 그런 경우, 즉 `love_python`이 거짓으로 판정될 때 실행되는 다른 코드 블록을 `else` 키워드를 이용하여 지정할 수 있다.\n",
10101010
"예를 들어 아래 코드는 파이썬을 좋아하지 않는 경우에 파이썬을 사랑해주면 행복진다는 문장을 출력한다."
10111011
]
10121012
},
@@ -1099,16 +1099,14 @@
10991099
"\n",
11001100
"- `x < y`가 참인 경우\n",
11011101
"- `x < y`가 거짓이면서 `x > y`가 참인 경우\n",
1102-
"- `x < y`와 `x > y` 모두 거짓인 경우, 즉 `x == y` 가 참인 경우"
1103-
]
1104-
},
1105-
{
1106-
"cell_type": "markdown",
1107-
"id": "9e5576e6-1ecf-4966-be7a-806f31c92abf",
1108-
"metadata": {},
1109-
"source": [
1110-
"이처럼 `if ... elif ... else ...` 에 사용된 논리식은 항상 이전의 논리식이 거짓임을 가정한다.\n",
1111-
"아래 코드는 `y`를 5로 나눈 나머지에 의존하여 서로 다른 명령문을 실행하도록 한다."
1102+
"- `x < y`와 `x > y` 모두 거짓인 경우, 즉 `x == y` 가 참인 경우\n",
1103+
"\n",
1104+
"이렇듯 `elif`와 `else`가 다루는 경우는 위쪽에 위치한 경우가 거짓이라는 전제하에 발생하는 경우들임에 주의한다.\n",
1105+
"또한 하나의 경우가 성립하면 그 아래의 다른 경우는 무시된다.\n",
1106+
"\n",
1107+
"예를 들어, 아래 코드는 `y`를 5로 나눈 나머지에 의존하여 서로 다른 명령문을 실행하도록 한다.\n",
1108+
"아래 코드에서 `x`는 4을 할당 받기에 0도, 1도, 2도 아니어서 `else`의 경우에 해당하게 되어\n",
1109+
"`'기타 등등'`이 화면에 출력된다."
11121110
]
11131111
},
11141112
{
@@ -1139,6 +1137,13 @@
11391137
" print('기타 등등')"
11401138
]
11411139
},
1140+
{
1141+
"cell_type": "markdown",
1142+
"metadata": {},
1143+
"source": [
1144+
"**`else` 대 `elif`**"
1145+
]
1146+
},
11421147
{
11431148
"cell_type": "markdown",
11441149
"id": "1e422b8f-b3a2-495e-93a2-b1fee8e469fa",
@@ -1178,13 +1183,20 @@
11781183
" print('기타 등등')"
11791184
]
11801185
},
1186+
{
1187+
"cell_type": "markdown",
1188+
"metadata": {},
1189+
"source": [
1190+
"**`else`의 필요성**"
1191+
]
1192+
},
11811193
{
11821194
"cell_type": "markdown",
11831195
"id": "a04c418a-3562-4e22-9574-98e20e40b138",
11841196
"metadata": {},
11851197
"source": [
1186-
"반면에 아래 코드는 동일한 결과를 내는 것처럼 보이지만 사실 기능이 다르다.\n",
1187-
"`y=4`일 때는 결과가 동일하다."
1198+
"아래 코드는 이전 코드와 동일한 결과를 내는 것처럼 보이지만 두 코드의 기능이 사실 다르다.\n",
1199+
"먼저 `y=4`일 때는 결과가 동일하다."
11881200
]
11891201
},
11901202
{
@@ -1223,6 +1235,13 @@
12231235
"하지만 예를 들어 `y=2`인 경우엔 결과가 다르다."
12241236
]
12251237
},
1238+
{
1239+
"cell_type": "markdown",
1240+
"metadata": {},
1241+
"source": [
1242+
"- `else`를 적용하는 경우"
1243+
]
1244+
},
12261245
{
12271246
"cell_type": "code",
12281247
"execution_count": 1,
@@ -1250,6 +1269,13 @@
12501269
" print('기타 등등')"
12511270
]
12521271
},
1272+
{
1273+
"cell_type": "markdown",
1274+
"metadata": {},
1275+
"source": [
1276+
"- `else`를 적용하지 않는 경우"
1277+
]
1278+
},
12531279
{
12541280
"cell_type": "code",
12551281
"execution_count": 6,
@@ -1339,12 +1365,34 @@
13391365
" print('x와 y가 같다')"
13401366
]
13411367
},
1368+
{
1369+
"cell_type": "markdown",
1370+
"metadata": {},
1371+
"source": [
1372+
":::{attention} `else`의 문맥상 의미\n",
1373+
"\n",
1374+
"이전 코드에서 `else`가 두번 사용되었지만 문맥상 의미가 서로 다르다.\n",
1375+
"\n",
1376+
"- 4번 행의 `else`: `x < y`가 거짓인 경우, 즉 `x >= y`인 경우를 다룸\n",
1377+
"- 9번 행의 `else`: `x < y`와 `x > y` 모두 거짓인 경우, 즉 `x = y`인 경우를 다룸\n",
1378+
"\n",
1379+
"이렇듯 코드의 의미는 문맥에 따라 달라질 수 있다.\n",
1380+
":::"
1381+
]
1382+
},
1383+
{
1384+
"cell_type": "markdown",
1385+
"metadata": {},
1386+
"source": [
1387+
"**논리 연산자 활용**"
1388+
]
1389+
},
13421390
{
13431391
"cell_type": "markdown",
13441392
"id": "72aafef9-b107-4947-9051-d6bd0bcd9bf8",
13451393
"metadata": {},
13461394
"source": [
1347-
"그리고 많은 경우 논리 연산자를 활용하면 중첩 조건문을 굳이 사용하지 않아도 된다.\n",
1395+
"논리 연산자를 활용하면 많은 경우 중첩 조건문을 굳이 사용하지 않아도 된다.\n",
13481396
"예를 들어 아래 코드는 중첩 조건문을 사용하여 `x`가 0보다 크면서 동시에 10보다 작은 경우를 다룬다."
13491397
]
13501398
},
@@ -2296,7 +2344,7 @@
22962344
"name": "python",
22972345
"nbconvert_exporter": "python",
22982346
"pygments_lexer": "ipython3",
2299-
"version": "3.12.11"
2347+
"version": "3.13.12"
23002348
}
23012349
},
23022350
"nbformat": 4,
File renamed without changes.

0 commit comments

Comments
 (0)