|
7 | 7 | "(ch:control-flow)=\n", |
8 | 8 | "# 제어문" |
9 | 9 | ], |
10 | | - "id": "b07fc573-d3e1-4ec3-a502-7fd45a8ba21e" |
| 10 | + "id": "3da982d1-13b9-457e-bbb6-29de26c49860" |
11 | 11 | }, |
12 | 12 | { |
13 | 13 | "cell_type": "markdown", |
|
28 | 28 | "참고로 제어문은 코드의 실행 중에 경우에 따라 다른 명령문을 실행하도록 하는\n", |
29 | 29 | "장치를 의미한다." |
30 | 30 | ], |
31 | | - "id": "8b6e8084-8c19-422e-a56a-7aa1658a8f3f" |
| 31 | + "id": "d1d0a34d-5de4-4a42-a76b-00e190b050ca" |
32 | 32 | }, |
33 | 33 | { |
34 | 34 | "cell_type": "markdown", |
35 | 35 | "metadata": {}, |
36 | 36 | "source": [ |
37 | 37 | "### `if` 조건문 활용" |
38 | 38 | ], |
39 | | - "id": "3f482b68-6477-40fd-aa09-2573432b94f3" |
| 39 | + "id": "a27ab371-b9cd-47c5-9cda-ea336e41e3f4" |
40 | 40 | }, |
41 | 41 | { |
42 | 42 | "cell_type": "markdown", |
|
54 | 54 | " 명령문\n", |
55 | 55 | "```" |
56 | 56 | ], |
57 | | - "id": "87932120-9559-4177-be8d-1a68a3d04f05" |
| 57 | + "id": "5adebb43-82a7-4eaf-b804-3114ae4a3729" |
58 | 58 | }, |
59 | 59 | { |
60 | 60 | "cell_type": "markdown", |
|
63 | 63 | "예를 들어 `guess` 와 `secret` 두 변수가 가리키는 값의 등가 여부에 따라\n", |
64 | 64 | "다른 문장을 출력하도록 하려면 아래와 같이 한다." |
65 | 65 | ], |
66 | | - "id": "d1bae0d0-ba87-4d3a-a5e7-903fd7c90e31" |
| 66 | + "id": "fa3fe6ab-f234-4820-833e-9aa99cf920d3" |
67 | 67 | }, |
68 | 68 | { |
69 | 69 | "cell_type": "code", |
|
88 | 88 | "else:\n", |
89 | 89 | " print(\"틀렸습니다!\")" |
90 | 90 | ], |
91 | | - "id": "359e9b09-d4cf-4527-beb2-408567874354" |
| 91 | + "id": "5beb29f3-2f9a-41e8-825e-a4b20bcdefe8" |
92 | 92 | }, |
93 | 93 | { |
94 | 94 | "cell_type": "markdown", |
|
112 | 112 | "코드 작성 오타 또는 오류를 줄여 준다.\n", |
113 | 113 | ":::" |
114 | 114 | ], |
115 | | - "id": "03e18d75-bea7-4878-bce4-63656bf73c9b" |
| 115 | + "id": "973e92c5-2b15-4bcd-8776-0193910ab45a" |
116 | 116 | }, |
117 | 117 | { |
118 | 118 | "cell_type": "markdown", |
|
121 | 121 | "(sec:for-loop)=\n", |
122 | 122 | "### `for` 반복문 활용" |
123 | 123 | ], |
124 | | - "id": "0a408d00-e504-4ca4-be51-56f82c003d56" |
| 124 | + "id": "e348a058-3e74-4942-bfec-5200522eefd3" |
125 | 125 | }, |
126 | 126 | { |
127 | 127 | "cell_type": "markdown", |
|
139 | 139 | " 명령문\n", |
140 | 140 | "```" |
141 | 141 | ], |
142 | | - "id": "b538c4bc-aad1-4b2d-80ab-02e9ffb4d872" |
| 142 | + "id": "0709dac0-13c5-43f6-9f69-8a43e5d3834f" |
143 | 143 | }, |
144 | 144 | { |
145 | 145 | "cell_type": "markdown", |
|
153 | 153 | "- 지정된 `변수`에 대해 `명령문`의 실행이 완료되면 `변수`은 다음 항목을 가리키게 됨.\n", |
154 | 154 | "- `변수`가 더 이상 가리킬 항목이 없을 때까지 위 과정 반복" |
155 | 155 | ], |
156 | | - "id": "7e05de21-2daa-4cb7-b742-e72df6c27dc3" |
| 156 | + "id": "f2789eab-ab7d-466a-9af8-a3dc4a26b47f" |
157 | 157 | }, |
158 | 158 | { |
159 | 159 | "cell_type": "markdown", |
160 | 160 | "metadata": {}, |
161 | 161 | "source": [ |
162 | 162 | "**예제: 문자열의 각 항목 출력**" |
163 | 163 | ], |
164 | | - "id": "f6c72a21-ea41-4d55-8211-d783d9cadf89" |
| 164 | + "id": "8d418148-3a23-496c-b68f-161cb7f5d606" |
165 | 165 | }, |
166 | 166 | { |
167 | 167 | "cell_type": "markdown", |
|
172 | 172 | "명령문으로 작성된 `print(item)`에 의해 각 글자가 출력된다.\n", |
173 | 173 | "`print()` 함수가 실행될 때마다 줄바꿈이 발생함에 주의한다." |
174 | 174 | ], |
175 | | - "id": "7bbfa913-3135-44d7-9ef2-400169b9baf4" |
| 175 | + "id": "dfe40fce-df29-46bb-b852-6993c8551ea9" |
176 | 176 | }, |
177 | 177 | { |
178 | 178 | "cell_type": "code", |
|
197 | 197 | "for item in hello:\n", |
198 | 198 | " print(item)" |
199 | 199 | ], |
200 | | - "id": "9162a4aa-7602-4b70-899b-c7b3561c68e6" |
| 200 | + "id": "ddfa2407-dba9-45e0-96ef-cb2444c1fc05" |
201 | 201 | }, |
202 | 202 | { |
203 | 203 | "cell_type": "markdown", |
204 | 204 | "metadata": {}, |
205 | 205 | "source": [ |
206 | 206 | "**예제: 리스트에 포함된 모든 항목의 합**" |
207 | 207 | ], |
208 | | - "id": "695216c5-ffa6-4964-8a0d-7e31ddc21a61" |
| 208 | + "id": "68fa6227-ccc7-4c89-b047-95bdc0248b16" |
209 | 209 | }, |
210 | 210 | { |
211 | 211 | "cell_type": "markdown", |
|
216 | 216 | "\n", |
217 | 217 | "> 1부터 10까지 정수의 합: 55" |
218 | 218 | ], |
219 | | - "id": "58dcfca0-3d4a-4fce-8e84-00d295b3585e" |
| 219 | + "id": "7400403d-8f77-48d2-8d5a-8f145fafc2d9" |
220 | 220 | }, |
221 | 221 | { |
222 | 222 | "cell_type": "markdown", |
223 | 223 | "metadata": {}, |
224 | 224 | "source": [ |
225 | 225 | "모범답안:" |
226 | 226 | ], |
227 | | - "id": "91c25dd8-2185-44a7-8dee-343c8c572473" |
| 227 | + "id": "5542c1e7-baf2-44e4-8b70-918268ba00d6" |
228 | 228 | }, |
229 | 229 | { |
230 | 230 | "cell_type": "markdown", |
231 | 231 | "metadata": {}, |
232 | 232 | "source": [ |
233 | 233 | "먼저 1부터 10을 항목으로 갖는 리스트를 `one2ten` 변수에 할당한다." |
234 | 234 | ], |
235 | | - "id": "c1c25442-e020-4b43-954e-60e6082c4715" |
| 235 | + "id": "015f1cd1-4378-4ecc-b9b5-dde03f7fd6f9" |
236 | 236 | }, |
237 | 237 | { |
238 | 238 | "cell_type": "code", |
|
242 | 242 | "source": [ |
243 | 243 | "one2ten = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]" |
244 | 244 | ], |
245 | | - "id": "8516da04-5287-4387-947b-a2efdd659538" |
| 245 | + "id": "d27941fa-68ee-46cf-8e24-0561b830b926" |
246 | 246 | }, |
247 | 247 | { |
248 | 248 | "cell_type": "markdown", |
|
262 | 262 | "\n", |
263 | 263 | "위 계산에 따라 항목이 달랄질 때마다 1부터 그 항목까지의 합을 저장하는 변수 `sum`에 0을 할당한다." |
264 | 264 | ], |
265 | | - "id": "350a9021-6b2c-4980-b440-16c8e5196c0a" |
| 265 | + "id": "fbb4a739-5477-4d93-b38b-db5aba24aed0" |
266 | 266 | }, |
267 | 267 | { |
268 | 268 | "cell_type": "code", |
|
272 | 272 | "source": [ |
273 | 273 | "sum = 0 " |
274 | 274 | ], |
275 | | - "id": "cac5130e-ac73-47cb-87a0-8a42ae176e4f" |
| 275 | + "id": "bb7b8bda-c9df-48ea-92a6-3c7a752252eb" |
276 | 276 | }, |
277 | 277 | { |
278 | 278 | "cell_type": "markdown", |
279 | 279 | "metadata": {}, |
280 | 280 | "source": [ |
281 | 281 | "이제 `sum` 변수가 가리키는 값을 앞서 설명한 대로 차례대로 업데이트되도록 `for` 반복문을 작성한다." |
282 | 282 | ], |
283 | | - "id": "f2bfbf98-4a7a-4c95-a728-d128d8edbf0a" |
| 283 | + "id": "5aeecb48-a9bd-4eb7-8e9a-d60dacd594b7" |
284 | 284 | }, |
285 | 285 | { |
286 | 286 | "cell_type": "markdown", |
|
289 | 289 | "- `sum`: `one2ten`의 가장 왼쪽에 위치한 항목부터 차례대로 하나씩 더한 값 저장\n", |
290 | 290 | "- `item`: 처음엔 1, 그 다음엔 2, 그 다음엔 3 등을 차례대로 할당받음." |
291 | 291 | ], |
292 | | - "id": "22f49e9e-55eb-459e-b6a9-6902984ed4ef" |
| 292 | + "id": "313aa91d-b85e-4929-922e-65d99547f036" |
293 | 293 | }, |
294 | 294 | { |
295 | 295 | "cell_type": "code", |
|
310 | 310 | " \n", |
311 | 311 | "print(\"1부터 10까지 정수의 합:\", sum)" |
312 | 312 | ], |
313 | | - "id": "6e9e289a-fe17-4631-948f-bddb5c2f30f4" |
| 313 | + "id": "ad1fbc6b-478f-4190-889b-d2a84b8a283d" |
314 | 314 | }, |
315 | 315 | { |
316 | 316 | "cell_type": "markdown", |
317 | 317 | "metadata": {}, |
318 | 318 | "source": [ |
319 | 319 | "**예제: 짝수 항목의 합**" |
320 | 320 | ], |
321 | | - "id": "68e99f2d-486d-4db9-abc0-5ef093a530aa" |
| 321 | + "id": "3aab5eca-2365-4bb8-b658-43b965f27019" |
322 | 322 | }, |
323 | 323 | { |
324 | 324 | "cell_type": "markdown", |
325 | 325 | "metadata": {}, |
326 | 326 | "source": [ |
327 | 327 | "`one2ten` 리스트에 포함된 정수 중에서 홀수들만의 합을 계산하는 코드를 작성한다." |
328 | 328 | ], |
329 | | - "id": "9bf297cb-e17b-464a-a561-56a43e182833" |
| 329 | + "id": "4cc4e70a-d2d5-402e-b369-e53e1d02de8a" |
330 | 330 | }, |
331 | 331 | { |
332 | 332 | "cell_type": "markdown", |
333 | 333 | "metadata": {}, |
334 | 334 | "source": [ |
335 | 335 | "모범답안:" |
336 | 336 | ], |
337 | | - "id": "21ee863f-929f-4aac-a92c-84f33a3c54be" |
| 337 | + "id": "d7f192f1-d42c-40e3-96de-91dc0484b4fd" |
338 | 338 | }, |
339 | 339 | { |
340 | 340 | "cell_type": "markdown", |
|
345 | 345 | "\n", |
346 | 346 | "- `item % 2 == 1`: `item`이 가리키는 값을 2로 나눴을 때 나머지가 1과 같은지 여부, 즉 `item`에 할당된 값이 홀수인지 여부 판단." |
347 | 347 | ], |
348 | | - "id": "e902c3af-844d-4e46-8e10-c6b297193e28" |
| 348 | + "id": "5e872fc5-41b1-49fd-9504-69dcf21145e6" |
349 | 349 | }, |
350 | 350 | { |
351 | 351 | "cell_type": "code", |
|
370 | 370 | " \n", |
371 | 371 | "print(\"짝수 항목의 합:\", sum)" |
372 | 372 | ], |
373 | | - "id": "b3ee0da4-e49b-4973-80f1-1afd94430cdc" |
| 373 | + "id": "1b61e110-0792-4bb0-9c42-904c3f3d194c" |
374 | 374 | }, |
375 | 375 | { |
376 | 376 | "cell_type": "markdown", |
|
379 | 379 | "(sec:while-iteration-starting)=\n", |
380 | 380 | "### `while` 반복문 활용" |
381 | 381 | ], |
382 | | - "id": "ab2f40de-2f20-4bc0-8d34-7eb9a14daa83" |
| 382 | + "id": "43b14e09-2150-4f85-9490-bf852d87f172" |
383 | 383 | }, |
384 | 384 | { |
385 | 385 | "cell_type": "markdown", |
|
397 | 397 | " 명령문\n", |
398 | 398 | "```" |
399 | 399 | ], |
400 | | - "id": "7a68431b-ca54-4efd-bcbe-d895130d462b" |
| 400 | + "id": "5e23809f-1052-4f8f-9ea6-3eabfa1f59dd" |
401 | 401 | }, |
402 | 402 | { |
403 | 403 | "cell_type": "markdown", |
|
409 | 409 | "- `논리식`이 거짓이 될 때까지 위 과정을 반복.\n", |
410 | 410 | "- `논리식`이 거짓이 되면 `명령문`을 `while` 반복문이 종료되고 이어지는 명령문으로 넘어감." |
411 | 411 | ], |
412 | | - "id": "df9dbf2b-4cc9-4a39-b7e2-06123b715f13" |
| 412 | + "id": "d11c04ee-ed98-4a72-9f5b-2e225d2fde82" |
413 | 413 | }, |
414 | 414 | { |
415 | 415 | "cell_type": "markdown", |
|
430 | 430 | " 그럴 때마다 `sum`은 해당 인덱스의 항목만큼 증가함.\n", |
431 | 431 | " 즉, 변수 `sum`의 역할은 이전 `for` 반목문을 이용한 코드에서와 동일함." |
432 | 432 | ], |
433 | | - "id": "48b2e16e-6a79-41ec-84ce-a8b29fa56be3" |
| 433 | + "id": "a96de92e-8a0e-4607-af7e-1bce0ffd51b7" |
434 | 434 | }, |
435 | 435 | { |
436 | 436 | "cell_type": "code", |
|
457 | 457 | " \n", |
458 | 458 | "print(\"1부터 10까지 정수의 합:\", sum)" |
459 | 459 | ], |
460 | | - "id": "a620dd5f-f3ca-4338-9db2-33b468e75284" |
| 460 | + "id": "f5a5813f-4901-4a7e-a66c-a4fad81c480f" |
461 | 461 | }, |
462 | 462 | { |
463 | 463 | "cell_type": "markdown", |
|
470 | 470 | "\n", |
471 | 471 | "- `item = one2ten[index]`: 반드시 필요한 변수 할당은 아니지만 이어지는 명령문을 보다 간단하게 보이도록 함." |
472 | 472 | ], |
473 | | - "id": "d2355c31-975d-43e3-9ae8-40177900f139" |
| 473 | + "id": "edd6c792-edb1-41e2-a4ee-1a5d3321b017" |
474 | 474 | }, |
475 | 475 | { |
476 | 476 | "cell_type": "code", |
|
501 | 501 | " \n", |
502 | 502 | "print(\"1에서 10 사이의 짝수들의 합:\", sum)" |
503 | 503 | ], |
504 | | - "id": "e507d1e3-9e9a-4681-8015-fb39873772fc" |
| 504 | + "id": "11186518-889f-44e8-94f3-af53416176db" |
505 | 505 | }, |
506 | 506 | { |
507 | 507 | "cell_type": "markdown", |
508 | 508 | "metadata": {}, |
509 | 509 | "source": [ |
510 | 510 | "## 필수 예제" |
511 | 511 | ], |
512 | | - "id": "2daaf4a0-15ad-4f18-96aa-5da2e168aba1" |
| 512 | + "id": "5a16ff3f-6606-43dd-9436-9b2259e9a1cb" |
513 | 513 | }, |
514 | 514 | { |
515 | 515 | "cell_type": "markdown", |
516 | 516 | "metadata": {}, |
517 | 517 | "source": [ |
518 | 518 | "참고: [(필수 예제) 프로그래밍 맛보기](https://colab.research.google.com/github/codingalzi/pybook/blob/master/examples/examples-starting.ipynb)" |
519 | 519 | ], |
520 | | - "id": "65508725-3c8d-4945-8391-ea85a097cf66" |
| 520 | + "id": "178f62d4-88f6-4380-a599-c1a9c7e109f5" |
521 | 521 | }, |
522 | 522 | { |
523 | 523 | "cell_type": "markdown", |
524 | 524 | "metadata": {}, |
525 | 525 | "source": [ |
526 | 526 | "## 연습문제" |
527 | 527 | ], |
528 | | - "id": "6daf49d4-72d8-48b5-85bd-f25788c8b689" |
| 528 | + "id": "14095df1-c215-45bb-9555-3dd2624ebcc5" |
529 | 529 | }, |
530 | 530 | { |
531 | 531 | "cell_type": "markdown", |
532 | 532 | "metadata": {}, |
533 | 533 | "source": [ |
534 | 534 | "참고: [(연습) 프로그래밍 시작하기](https://colab.research.google.com/github/codingalzi/pybook/blob/master/practices/practice-starting.ipynb)" |
535 | 535 | ], |
536 | | - "id": "cdb973b9-2919-4354-a2c4-5c6524bfc38d" |
| 536 | + "id": "8f5e4319-b642-411f-8f9a-63400f5297d1" |
537 | 537 | } |
538 | 538 | ], |
539 | 539 | "metadata": { |
|
0 commit comments