목차
Unit 1. 소프트웨어 교육과 파이썬 = 21
  1.1 문제 해결을 위한 과학적 사고 = 23
  1.2 알고리즘과 코딩 = 25
  1.3 파이썬 = 27
  1.4 코딩 도장을 학습하는 방법 = 28
Unit 2. 파이썬 설치하기 = 29
Unit 3. Hello, world!로 시작하기 = 35
  3.1 IDLE에서 Hello, world! 출력해보기 = 35
  3.2 IDLE에서 소스 파일 실행하기 = 37
  3.3 명령 프롬프트에서 Hello, world! 출력하기 = 39
  3.4 소스 코드 살펴보기 = 42
  3.5 심사 사이트 사용하기 = 42
  3.6 퀴즈 = 48
  3.7 연습문제 : 문자열 출력하기 = 49
  3.8 심사문제 : 문자열 출력하기 = 49
Unit 4. 기본 문법 알아보기 = 50
  4.1 세미콜론 = 50
  4.2 주석 = 50
  4.3 들여쓰기 = 52
  4.4 코드 블록 = 53
  핵심 정리 = 54
  Q&A = 54
Unit 5. 숫자 계산하기 = 55
  5.1 정수 계산하기 = 55
  5.2 실수 계산하기 = 59
  5.3 괄호 사용하기 = 61
  5.4 퀴즈 = 61
  5.5 연습문제 : 아파트에서 소음이 가장 심한 층수 출력하기 = 62
  5.6 심사문제 : 스킬 공격력 출력하기 = 62
Unit 6. 변수와 입력 사용하기 = 63
  6.1 변수 만들기 = 63
  6.2 변수로 계산하기 = 66
  6.3 입력 값을 변수에 저장하기 = 68
  6.4 입력 값을 변수 두 개에 저장하기 = 71
  6.5 퀴즈 = 74
  6.6 연습문제 : 정수 세 개를 입력받고 합계 출력하기 = 75
  6.7 심사문제 : 변수 만들기 = 75
  6.8 심사문제 : 평균 점수 구하기 = 75
Unit 7. 출력 방법 알아보기 = 77
  7.1 값을 여러 개 출력하기 = 77
  7.2 줄바꿈 활용하기 = 78
  7.3 퀴즈 = 80
  7.4 연습문제 : 날짜와 시간 출력하기 = 80
  7.5 심사문제 : 날짜와 시간 출력하기 = 81
  핵심 정리 = 82
  Q&A = 85
Unit 8. 불과 비교, 논리 연산자 알아보기 = 87
  8.1 불과 비교 연산자 사용하기 = 87
  8.2 논리 연산자 사용하기 = 90
  8.3 퀴즈 = 93
  8.4 연습문제 : 합격 여부 출력하기 = 94
  8.5 심사문제 : 합격 여부 출력하기 = 95
Unit 9. 문자열 사용하기 = 96
  9.1 문자열 사용하기 = 96
  9.2 퀴즈 = 100
  9.3 연습문제 : 여러 줄로 된 문자열 사용하기 = 100
  9.4 심사문제 : 여러 줄로 된 문자열 사용하기 = 101
Unit 10. 리스트와 튜플 사용하기 = 102
  10.1 리스트 만들기 = 102
  10.2 튜플 사용하기 = 105
  10.3 퀴즈 = 1018
  10.4 연습문제 : range로 리스트 만들기 = 109
  10.5 심사문제 : range로 튜플 만들기 = 110
Unit 11. 시퀀스 자료형 활용하기 = 111
  11.1 시퀀스 자료형의 공통 기능 사용하기 = 112
  11.2 시퀀스 객체의 요소 개수 구하기 = 115
  11.3 인덱스 사용하기 = 118
  11.4 슬라이스 사용하기 = 125
  11.5 퀴즈 = 139
  11.1 연습문제 : 최근 3년간 인구 출력하기 = 140
  11.2 연습문제 : 인덱스가 홀수인 요소 출력하기 = 141
  11.3 심사문제 : 리스트의 마지막 부분 삭제하기 = 141
  11.4 심사문제 : 문자열에서 인덱스가 홀수인 문자와 짝수인 문자 연결하기 = 142
Unit 12. 딕셔너리 사용하기 = 143
  12.1 딕셔너리 만들기 = 143
  12.2 딕셔너리의 키에 접근하고 값 할당하기 = 146
  12.3 퀴즈 = 148
  12.4 연습문제 : 딕셔너리에 게임 캐릭터 능력치 저장하기 = 149
  12.5 심사문제 : 딕셔너리에 게임 캐릭터 능력치 저장하기 = 150
  핵심 정리 = 151
  Q&A = 154
Unit 13. if 조건문으로 특정 조건일 때 코드 실행하기 = 156
  13.1 if 조건문 사용하기 = 157
  13.2 if 조건문과 들여쓰기 = 159
  13.3 중첩 if 조건문 사용하기 = 161
  13.4 사용자가 입력한 값에 if 조건문 사용하기 = 162
  13.5 퀴즈 = 163
  13.6 연습문제 : if 조건문 사용하기 = 164
  13.7 심사문제 : 온라인 할인 쿠폰 시스템 만들기 = 165
Unit 14. else를 사용하여 두 방향으로 분기하기 = 166
  14.1 else 사용하기 = 166
  14.2 else와 들여쓰기 = 168
  14.3 if 조건문의 동작 방식 알아보기 = 169
  14.4 조건식을 여러 개 지정하기 = 171
  14.5 퀴즈 = 173
  14.6 연습문제 : 합격 여부 판단하기 = 174
  14.7 심사문제 : 합격 여부 판단하기 = 174
Unit 15. elif를 사용하여 여러 방향으로 분기하기 = 176
  15.1 elif 사용하기 = 177
  15.2 퀴즈 = 179
  15.3 연습문제 : if, elif, else 모두 사용하기 = 180
  15.4 심사문제 : 교통카드 시스템 만들기 = 180
  핵심 정리 = 182
  Q&A = 183
Unit 16. for 반복문으로 Hello, world! 100번 출력하기 = 185
  16.1 for와 range 사용하기 = 185
  16.2 for와 range 응용하기 = 187
  16.3 시퀀스 객체로 반복하기 = 191
  16.4 퀴즈 = 192
  16.5 연습문제 : 리스트의 요소에 10을 곱해서 출력하기 = 193
  16.6 심사문제 : 구구단 출력하기 = 193
Unit 17. while 반복문으로 Hello, world! 100번 출력하기 = 195
  17.1 while 반복문 사용하기 = 196
  17.2 반복 횟수가 정해지지 않은 경우 = 198
  17.3 while 반복문으로 무한 루프 만들기 = 200
  17.4 퀴즈 = 201
  17.5 연습문제 : 변수 두 개를 다르게 반복하기 = 202
  17.6 심사문제 : 교통카드 잔액 출력하기 = 203
Unit 18. break, continue로 반복문 제어하기 = 204
  18.1 break로 반복문 끝내기 = 204
  18.2 continue로 코드 실행 건너뛰기 = 206
  18.3 입력한 횟수대로 반복하기 = 208
  18.4 퀴즈 = 210
  18.5 연습문제 : 3으로 끝나는 숫자만 출력하기 = 211
  18.6 심사문제 : 두 수 사이의 숫자 중 3으로 끝나지 않는 숫자 출력하기 = 212
Unit 19. 계단식으로 별 출력하기 = 213
  19.1 중첩 루프 사용하기 = 213
  19.2 사각형으로 별 출력하기 = 214
  19.3 계단식으로 별 출력하기 = 216
  19.4 퀴즈 = 217
  19.1 연습문제 : 역삼각형 모양으로 별 출력하기 = 218
  19.2 심사문제 : 산 모양으로 별 출력하기 = 219
Unit 20. FizzBuzz 문제 = 220
  20.1 1부터 100까지 숫자 출력하기 = 220
  20.2 3의 배수일 때와 5의 배수일 때 처리하기 = 221
  20.3 3과 5의 공배수 처리하기 = 221
  20.4 논리 연산자를 사용하지 않고 3과 5의 공배수 처리하기 = 222
  20.5 코드 단축하기 = 223
  20.6 퀴즈 = 224
  20.7 연습문제 : 2과 11의 배수, 공배수 처리하기 = 225
  20.8 심사문제 : 5와 7의 배수, 공배수 처리하기 = 226
Unit 21. 터틀 그래픽스로 그림 그리기 = 227
  21.1 사각형 그리기 = 227
  21.2 다각형 그리기 = 231
  21.3 복잡한 도형 그리기 = 235
  21.4 퀴즈 = 237
  21.5 연습문제 : 오각별 그리기 = 238
  21.6 심사문제 : 별 그리기 = 239
  핵심 정리 = 241
  Q&A = 243
Unit 22. 리스트와 튜플 응용하기 = 244
  22.1 리스트 조작하기 = 244
  22.2 리스트의 할당과 복사 알아보기 = 254
  22.3 반복문으로 리스트의 요소를 모두 출력하기 = 256
  22.4 리스트의 가장 작은 수, 가장 큰 수, 합계 구하기 = 259
  22.5 리스트 표현식 사용하기 = 261
  22.6 리스트에 map 사용하기 = 264
  22.7 튜플 응용하기 = 266
  22.8 퀴즈 = 269
  22.9 연습문제 : 리스트에서 특정 요소만 뽑아내기 = 270
  22.10 심사문제 : 2의 거듭제곱 리스트 생성하기 = 271
Unit 23. 2차원 리스트 사용하기 = 272
  23.1 2차원 리스트를 만들고 요소에 접근하기 = 272
  23.2 반복문으로 2차원 리스트의 요소를 모두 출력하기 = 275
  23.3 반복문으로 리스트 만들기 = 278
  23.4 2차원 리스트의 할당과 복사 알아보기 = 281
  23.5 퀴즈 = 282
  23.6 연습문제 : 3차원 리스트 만들기 = 284
  23.7 심사문제 : 지뢰찾기 = 285
Unit 24. 문자열 응용하기 = 287
  24.1 문자열 조작하기 = 287
  24.2 문자열 서식 지정자와 포매팅 사용하기 = 294
  24.3 퀴즈 = 302
  24.4 연습문제 : 파일 경로에서 파일명만 가져오기 = 303
  24.5 심사문제 : 특정 단어 개수 세기 = 305
  24.6 심사문제 : 높은 가격순으로 출력하기 = 305
  핵심 정리 = 307
  Q&A = 312
Unit 25. 딕셔너리 응용하기 = 313
  25.1 딕셔너리 조작하기 = 313
  25.2 반복문으로 딕셔너리의 키-값 쌍을 모두 출력하기 = 319
  25.3 딕셔너리 표현식 사용하기 = 321
  25.4 딕셔너리 안에서 딕셔너리 사용하기 = 323
  25.5 딕셔너리의 할당과 복사 = 324
  25.6 퀴즈 = 326
  25.7 연습문제 : 평균 점수 구하기 = 328
  25.8 심사문제 : 딕셔너리에서 특정 값 삭제하기 = 328
Unit 26. 세트 사용하기 = 330
  26.1 세트 만들기 = 330
  26.2 집합 연산 사용하기 = 333
  26.3 세트 조작하기 = 340
  26.4 세트의 할당과 복사 = 342
  26.5 반복문으로 세트의 요소를 모두 출력하기 = 343
  26.6 세트 표현식 사용하기 = 343
  26.7 퀴즈 = 345
  26.8 연습문제 : 공배수 구하기 = 346
  26.9 심사문제 : 공약수 구하기 = 346
  핵심 정리 = 348
  Q&A = 350
Unit 27. 파일 사용하기 = 352
  27.1 파일에 문자열 쓰기, 읽기 = 352
  27.2 문자열 여러 줄을 파일에 쓰기, 읽기 = 355
  27.3 파이썬 객체를 파일에 저장하기, 가져오기 = 358
  27.4 퀴즈 = 360
  27.5 연습문제 : 파일에서 10자 이하인 단어 개수 세기 = 360
  27.6 심사문제 : 특정 문자가 들어있는 단어 찾기 = 361
Unit 28. 회문 판별과 N-gram 만들기 = 362
  28.1 회문 판별하기 = 362
  28.2 N-gram 만들기 = 365
  28.3 연습문제 : 단어 단위 N-gram 만들기 = 368
  28.4 심사문제 : 파일에서 회문인 단어 출력하기 = 369
  핵심 정리 = 370
  Q&A = 371
Unit 29. 함수 사용하기 = 372
  29.1 Hello, world! 출력 함수 만들기 = 372
  29.2 덧셈 함수 만들기 = 374
  29.3 함수의 결과를 반환하기 = 376
  29.4 함수에서 값을 여러 개 반환하기 = 378
  29.5 함수의 호출 과정 알아보기 = 379
  29.6 퀴즈 = 383
  29.7 연습문제 : 몫과 나머지를 구하는 함수 만들기 = 384
  29.8 심사문제 : 사칙 연산 함수 만들기 = 384
Unit 30. 함수에서 위치 인수와 키워드 인수 사용하기 = 386
  30.1 위치 인수와 리스트 언패킹 사용하기 = 386
  30.2 키워드 인수 사용하기 = 389
  30.3 키워드 인수와 딕셔너리 언패킹 사용하기 = 390
  30.4 매개변수에 초깃값 지정하기 = 395
  30.5 퀴즈 = 396
  30.6 연습문제 : 가장 높은 점수를 구하는 함수 만들기 = 397
  30.7 심사문제 : 가장 낮은 점수, 높은 점수와 평균 점수를 구하는 함수 만들기 = 398
Unit 31. 함수에서 재귀호출 사용하기 = 399
  31.1 재귀호출 사용하기 = 399
  31.2 재귀호출로 팩토리얼 구하기 = 401
  31.3 퀴즈 = 403
  31.4 연습문제 : 재귀호출로 회문 판별하기 = 404
  31.5 심사문제 : 재귀호출로 피보나치 수 구하기 = 404
  핵심 정리 = 406
  Q&A = 408
Unit 32. 람다 표현식 사용하기 = 410
  32.1 람다 표현식으로 함수 만들기 = 410
  32.2 람다 표현식과 map, filter, reduce 함수 활용하기 = 412
  32.3 퀴즈 = 417
  32.4 연습문제 : 이미지 파일만 가져오기 = 417
  32.5 심사문제 : 파일 이름을 한꺼번에 바꾸기 = 418
Unit 33. 클로저 사용하기 = 419
  33.1 변수의 사용 범위 알아보기 = 419
  33.2 함수 안에서 함수 만들기 = 422
  33.3 클로저 사용하기 = 425
  33.4 퀴즈 = 428
  33.5 연습문제 : 호출 횟수를 세는 함수 만들기 = 428
  33.6 심사문제 : 카운트다운 함수 만들기 = 429
  핵심 정리 = 430
  Q&A = 431
Unit 34. 클래스 사용하기 = 432
  34.1 클래스와 메서드 만들기 = 433
  34.2 속성 사용하기 = 437
  34.3 비공개 속성 사용하기 = 442
  34.4 퀴즈 = 445
  34.5 연습문제 : 게임 캐릭터 클래스 만들기 = 446
  34.6 심사문제 : 게임 캐릭터 클래스 만들기 = 446
Unit 35. 클래스 속성과 정적, 클래스 메서드 사용하기 = 448
  35.1 클래스 속성과 인스턴스 속성 알아보기 = 448
  35.2 정적 메서드 사용하기 = 452
  35.3 클래스 메서드 사용하기 = 453
  35.4 퀴즈 = 455
  35.5 연습문제 : 날짜 클래스 만들기 = 456
  35.6 심사문제 : 시간 클래스 만들기 = 457
Unit 36. 클래스 상속 사용하기 = 458
  36.1 사람 클래스로 학생 클래스 만들기 = 459
  36.2 상속 관계와 포함 관계 알아보기 = 460
  36.3 기반 클래스의 속성 사용하기 = 462
  36.4 메서드 오버라이딩 사용하기 = 464
  36.5 다중 상속 사용하기 = 466
  36.6 추상 클래스 사용하기 = 469
  36.7 퀴즈 = 472
  36.8 연습문제 : 리스트에 기능 추가하기 = 473
  36.9 심사문제 : 다중 상속 사용하기 = 474
Unit 37. 두 점 사이의 거리 구하기 = 475
  37.1 두 점 사이의 거리 구하기 = 475
  37.2 연습문제 : 사각형의 넓이 구하기 = 479
  37.3 심사문제 : 두 점 사이의 거리 구하기 = 480
  핵심 정리 = 481
  Q&A = 484
Unit 38. 예외 처리 사용하기 = 486
  38.1 try except로 사용하기 = 486
  38.2 else와 finally 사용하기 = 490
  38.3 예외 발생시키기 = 492
  38.4 예외 만들기 = 495
  38.5 퀴즈 = 497
  38.6 연습문제 : 파일 예외 처리하기 = 497
  38.7 심사문제 : 회문이 아니면 예외 발생시키기 = 498
Unit 39. 이터레이터 사용하기 = 499
  39.1 반복 가능한 객체 알아보기 = 499
  39.2 이터레이터 만들기 = 502
  39.3 인덱스로 접근할 수 있는 이터레이터 만들기 = 504
  39.4 iter, next 함수 활용하기 = 506
  39.5 퀴즈 = 508
  39.6 연습문제 : 배수 이터레이터 만들기 = 508
  39.7 심사문제 : 시간 이터레이터 만들기 = 509
Unit 40. 제너레이터 사용하기 = 511
  40.1 제너레이터와 yield 알아보기 = 511
  40.2 제너레이터 만들기 = 516
  40.3 yield from으로 값을 여러 번 바깥으로 전달하기 = 517
  40.4 퀴즈 = 519
  40.5 연습문제 : 파일 읽기 제너레이터 만들기 = 520
  40.6 심사문제 : 소수 제너레이터 만들기 = 521
Unit 41. 코루틴 사용하기 = 522
  41.1 코루틴에 값 보내기 = 523
  41.2 코루틴 바깥으로 값 전달하기 = 526
  41.3 코루틴을 종료하고 예외 처리하기 = 529
  41.4 하위 코루틴의 반환값 가져오기 = 531
  41.5 퀴즈 = 535
  41.6 연습문제 : 문자열 검색 코루틴 만들기 = 535
  41.7 심사문제 : 사칙연산 코루틴 만들기 = 536
  핵심 정리 = 538
  Q&A = 542
Unit 42. 데코레이터 사용하기 = 543
  42.1 데코레이터 만들기 = 543
  42.2 매개변수와 반환값을 처리하는 데코레이터 만들기 = 547
  42.3 매개변수가 있는 데코레이터 만들기 = 550
  42.4 클래스로 데코레이터 만들기 = 553
  42.5 클래스로 매개변수와 반환값을 처리하는 데코레이터 만들기 = 555
  42.6 퀴즈 = 557
  42.7 연습문제 : 데코레이터로 매개변수의 자료형 검사하기 = 558
  42.8 심사문제 : HTML 태그 데코레이터 만들기 = 559
Unit 43. 정규표현식 사용하기 = 561
  43.1 문자열 판단하기 = 561
  43.2 범위 판단하기 = 562
  43.3 그룹 사용하기 = 567
  43.4 문자열 바꾸기 = 568
  43.5 연습문제 : 이메일 주소 검사하기 = 571
  43.6 심사문제 : URL 검사하기 = 572
Unit 44. 모듈과 패키지 사용하기 = 573
  44.1 import로 모듈 가져오기 = 573
  44.2 import로 패키지 가져오기 = 577
  44.3 파이썬 패키지 인덱스에서 패키지 설치하기 = 579
  44.4 퀴즈 = 582
  44.5 연습문제 : 소수점 이하 올림, 버림 구하기 = 582
  44.6 심사문제 : 원의 넓이 구하기 = 583
Unit 45. 모듈과 패키지 만들기 = 584
  45.1 모듈 만들기 = 584
  45.2 모듈과 시작점 알아보기 = 586
  45.3 패키지 만들기 = 590
  45.4 패키지에서 from import 응용하기 = 593
  45.5 퀴즈 = 598
  45.6 연습문제 : 하위 패키지 구성하기 = 599
  45.7 심사문제 : 패키지 사용하기 = 599
  핵심 정리 = 600
  Q&A = 605
Unit 46. 실전예제 : 웹의 데이터로 그래프 그리기 = 606
  46.1 아나콘다 설치하기 = 606
  46.2 주피터 노트북 사용하기 = 610
  46.3 웹 페이지의 HTML을 가져와서 파일로 저장하기 = 614
  46.4 데이터로 그래프 그리기 = 621
Unit 47. 부록 = 627
  47.1 비트 연산자 사용하기 = 627
  47.2 연산자 우선순위 = 631
  47.3 bytes, bytearray 사용하기 = 631
  47.4 날짜/시간 모듈 활용하기 = 634
  47.5 내장 함수 = 638
  47.6 이스케이프 시퀀스 = 640
  47.7 실수 값의 오차 = 641
  47.8 with as에 사용할 수 있는 클래스 만들기 = 643
  47.9 메타클래스 사용하기 = 644
  47.10 asyncio 사용하기 = 646
  47.11 가상환경 사용하기 = 656
  47.12 Windows에서 패키지 설치 에러 해결하기 = 660
  47.13 프로퍼티 사용하기 = 663
  47.14 PyCharm 사용하기 = 664
  47.15 할당 표현식 사용하기 = 665
  47.16 구조적 패턴 매칭 사용하기 = 667
  47.17 with as에서 괄호 사용하기 = 671
닫기