|
4 | 4 | "cell_type": "markdown", |
5 | 5 | "metadata": {}, |
6 | 6 | "source": [ |
7 | | - "# 논리 연산" |
| 7 | + "# if 조건문" |
8 | 8 | ] |
9 | 9 | }, |
10 | 10 | { |
|
474 | 474 | "cell_type": "markdown", |
475 | 475 | "metadata": {}, |
476 | 476 | "source": [ |
477 | | - "## 논리식과 `if` 조건문" |
| 477 | + "(sec-values-if)=\n", |
| 478 | + "## 조건문" |
478 | 479 | ] |
479 | 480 | }, |
480 | 481 | { |
481 | 482 | "cell_type": "markdown", |
482 | 483 | "metadata": {}, |
483 | 484 | "source": [ |
484 | | - "논리식은 `if` 조건문에서 다양한 형식으로 활용된다.\n", |
485 | | - "여기서는 {numref}`%s절 <sec-values-if>`에서 소개한\n", |
486 | | - "간단한 형식의 `if ... else ...` 이외에\n", |
487 | | - "다른 형식의 조건문을 소개한다." |
| 485 | + "컴퓨터 프로그램은 값을 저장하고 조작하여 새로운 값을 계산하여 활용하는 방법을 묘사한다.\n", |
| 486 | + "이때 주어진 값에 따라 따라 다른 방법으로 일을 하도록 명령할 수 있다." |
| 487 | + ] |
| 488 | + }, |
| 489 | + { |
| 490 | + "cell_type": "markdown", |
| 491 | + "metadata": {}, |
| 492 | + "source": [ |
| 493 | + "**`if ...` 조건문**" |
| 494 | + ] |
| 495 | + }, |
| 496 | + { |
| 497 | + "cell_type": "markdown", |
| 498 | + "metadata": {}, |
| 499 | + "source": [ |
| 500 | + "예를 들어 아래 코드는 파이썬을 좋아하는 경우에만 '안녕!'과 '파이썬 좋아요.' 두 문자열이 출력되도록 한다." |
| 501 | + ] |
| 502 | + }, |
| 503 | + { |
| 504 | + "cell_type": "code", |
| 505 | + "execution_count": null, |
| 506 | + "metadata": {}, |
| 507 | + "outputs": [ |
| 508 | + { |
| 509 | + "name": "stdout", |
| 510 | + "output_type": "stream", |
| 511 | + "text": [ |
| 512 | + "안녕!\n", |
| 513 | + "파이썬 좋아요.\n" |
| 514 | + ] |
| 515 | + } |
| 516 | + ], |
| 517 | + "source": [ |
| 518 | + "love_python = True\n", |
| 519 | + "\n", |
| 520 | + "if love_python:\n", |
| 521 | + " print(\"안녕!\")\n", |
| 522 | + " print(\"파이썬 좋아요.\")" |
| 523 | + ] |
| 524 | + }, |
| 525 | + { |
| 526 | + "cell_type": "markdown", |
| 527 | + "metadata": {}, |
| 528 | + "source": [ |
| 529 | + "`if love_python`은 `love_python`이 참인지 여부를 확인하도록 하는 명령문이다.\n", |
| 530 | + "그런데 1번 줄에서 `love_python = True`라고 작성되어 있기에 \n", |
| 531 | + "`love_python`이 참으로 확인되고, \n", |
| 532 | + "따라서 들여쓰기된 `print(\"안녕!\")`와 `print('파이썬 좋아요.')` 두 명령문이 차례대로 실행된다." |
| 533 | + ] |
| 534 | + }, |
| 535 | + { |
| 536 | + "cell_type": "markdown", |
| 537 | + "metadata": {}, |
| 538 | + "source": [ |
| 539 | + ":::{admonition} 들여쓰기와 코드 블록\n", |
| 540 | + ":class: note\n", |
| 541 | + "\n", |
| 542 | + "`if love_python:`에 콜론 기호 `:` 사용되고 이어지는 두 개의 명령문은 들여쓰기 이후에 작성되었음에 주의한다.\n", |
| 543 | + "파이썬은 들여쓰기를 이용하여 명령문들로 구성된 코드 블록을 지정한다.\n", |
| 544 | + "\n", |
| 545 | + "이렇게 동일한 정도의 들여쓰기 이후에 작성된 명령문으로 구성된 코드 블록은 특정 조건 하에서만 실행된다.\n", |
| 546 | + "예를 들어 위 코드에서는 `love_python`이 참이기에 들여쓰기된 코드 블록이 실행되었다.\n", |
| 547 | + "\n", |
| 548 | + "들여쓰기는 일반적으로 <kbd>Tab</kbd> 키를 이용하며, 일반적으로 <kbd>Space</kbd> 키를 \n", |
| 549 | + "4번 또는 2번 타입핑한 결과로 처리된다.\n", |
| 550 | + "사용하는 편집기에 따라 들여쓰기 정도를 지정하는 옵션이 제공된다.\n", |
| 551 | + ":::" |
| 552 | + ] |
| 553 | + }, |
| 554 | + { |
| 555 | + "cell_type": "markdown", |
| 556 | + "metadata": {}, |
| 557 | + "source": [ |
| 558 | + "반면에 아래 코드를 실행하면 아무 것도 출력되지 않는다.\n", |
| 559 | + "이유는 1번 줄에서 `love_python`이 거짓으로 확인되어 들여쓰기된 코드 블록이 실행되지 않기 때문이다." |
| 560 | + ] |
| 561 | + }, |
| 562 | + { |
| 563 | + "cell_type": "code", |
| 564 | + "execution_count": null, |
| 565 | + "metadata": {}, |
| 566 | + "outputs": [], |
| 567 | + "source": [ |
| 568 | + "love_python = False\n", |
| 569 | + "\n", |
| 570 | + "if love_python:\n", |
| 571 | + " print(\"안녕!\")\n", |
| 572 | + " print(\"파이썬 좋아요.\")" |
| 573 | + ] |
| 574 | + }, |
| 575 | + { |
| 576 | + "cell_type": "markdown", |
| 577 | + "metadata": {}, |
| 578 | + "source": [ |
| 579 | + "**`if ... else ...` 조건문**" |
| 580 | + ] |
| 581 | + }, |
| 582 | + { |
| 583 | + "cell_type": "markdown", |
| 584 | + "metadata": {}, |
| 585 | + "source": [ |
| 586 | + "위 코드의 `if lov_python` 조건문에서 `love_python`이 거짓이어서 들여쓰기된 코드 블록이 실행되지 않았다.\n", |
| 587 | + "그런데 그런 경우, 즉 `if` 다음이 거짓으로 판정될 때 실행되는 다른 코드 블록을 `else` 키워드를 이용하여 지정할 수 있다.\n", |
| 588 | + "예를 들어 아래 코드는 파이썬을 좋아하지 않는 경우에 파이썬을 사랑해주면 행복진다는 문장을 출력한다." |
| 589 | + ] |
| 590 | + }, |
| 591 | + { |
| 592 | + "cell_type": "code", |
| 593 | + "execution_count": null, |
| 594 | + "metadata": {}, |
| 595 | + "outputs": [ |
| 596 | + { |
| 597 | + "name": "stdout", |
| 598 | + "output_type": "stream", |
| 599 | + "text": [ |
| 600 | + "파이썬을 사랑해주세요!\n", |
| 601 | + "그러면 행복해집니다.\n" |
| 602 | + ] |
| 603 | + } |
| 604 | + ], |
| 605 | + "source": [ |
| 606 | + "love_python = False\n", |
| 607 | + "\n", |
| 608 | + "if love_python:\n", |
| 609 | + " print(\"안녕!\")\n", |
| 610 | + " print(\"파이썬 좋아요.\")\n", |
| 611 | + "else:\n", |
| 612 | + " print(\"파이썬을 사랑해주세요!\")\n", |
| 613 | + " print(\"그러면 행복해집니다.\")" |
| 614 | + ] |
| 615 | + }, |
| 616 | + { |
| 617 | + "cell_type": "markdown", |
| 618 | + "metadata": {}, |
| 619 | + "source": [ |
| 620 | + "`else` 키워드 또한 콜론 기호 `:`로 끝나고 줄바꿈 후에 들여쓰기로 코드 블록을 지정함에 주의한다." |
488 | 621 | ] |
489 | 622 | }, |
490 | 623 | { |
|
0 commit comments