파이썬을 공부하자
파이썬 공부하려는 초중고 학생
- Part 1. 파이썬 기초 문법 (1~10차시)
- Part 2. 파이썬 필수 라이브러리 활용 (11~18차시)
- Part 3. 파이썬 알고리즘 & 자료구조 기초 (19~25차시)
- 설명: 파이썬을 이해하고 개발 환경을 설정합니다. VS Code 설치와 기본 설정(확장, 터미널, 인터프리터 선택)을 통해 코드를 작성하고 실행할 수 있는 환경을 준비합니다.
- 설명: 정수(int)와 실수(float) 같은 수치 자료형과 변수의 개념을 배우고, 산술 연산(+, -, *, /, //, %, **)과 형 변환을 통해 기본 계산과 값을 저장·다루는 방법을 익힙니다.
- 개념 학습 코드
- 실습 코드 A: 간단 계산기
- 실습 코드 B: BMI 측정기
- 도전 과제
- 정답
- 설명: 문자열은 텍스트 데이터를 다루는 자료형입니다. 인덱싱과 슬라이싱으로 부분 문자열을 추출하고, 연결(+)·반복(*)·길이(len)·포맷(f-string 등)을 사용해 텍스트를 다루는 기본을 배웁니다.
- 개념 학습 코드
- 실습 코드 A: 인덱싱과 슬라이싱
- 실습 코드 B: 문자열 연결
- 도전 과제
- 정답
- 설명: 여러 값을 한곳에 묶어 다루는 자료형을 배웁니다. 대표적으로 변경 가능한 리스트(list)와 변경 불가능한 튜플(tuple)이 있으며, 인덱스·슬라이싱·반복·멤버십 연산 등을 사용해 데이터를 처리합니다.
- 개념 학습 코드
- 실습 코드 A: 리스트 조작 연습
- 실습 코드 B: 리스트와 튜플 비교
- 도전 과제
- 정답
- 설명: 사용자 입력(input)으로 값을 받고, print와 여러 포맷 방법(f-string, format, %, sep, end)으로 보기 좋게 출력하는 방법을 배웁니다.
- 개념 학습 코드
- 실습 코드 A: 인사말 만들기
- 실습 코드 B: 영수층 출력
- 도전 과제
- 정답
- 설명: 프로그램의 흐름을 조건에 따라 분기합니다. 비교 연산자(==, !=, <, >, <=, >=), 논리 연산자(and, or, not), 그리고 if / elif / else 구조를 사용해 상황에 맞는 동작을 하도록 만듭니다.
- 개념 학습 코드
- 실습 코드 A: 성적 판별기
- 실습 코드 B: 홀짝 판별기
- 도전 과제
- 정답
- 설명:
for반복문을 사용해 리스트나 문자열,range()로 생성한 수열 등 '여러 값'을 순서대로 처리합니다. 반복 작업을 자동화하고break/continue로 흐름을 제어할 수 있습니다. - 개념 학습 코드
- 실습 코드 A: 성적 판별기
- 실습 코드 B: 홀짝 판별기
- 도전 과제
- 정답
- 설명:
while문은 주어진 조건이 참(True)인 동안 코드를 반복 실행합니다. 반복 횟수가 미리 정해지지 않은 상황(사용자 입력, 특정 조건 충족까지 등)에 적합합니다. 반복문 안에서 특정 조건을 만족하면 종료하도록 해야 무한 루프를 피할 수 있습니다. - 개념 학습 코드
- 실습 코드 A: while로 1부터 n까지 합 구하기
- 실습 코드 B: 문자열을 모아서 출력하기
- 도전 과제
- 정답
- 설명: 반복되는 코드를 묶어 재사용 가능한 블록(함수)을 만듭니다.
def로 함수를 정의하고, 매개변수(인자)와 반환값(return)을 사용해 값을 주고받습니다. 함수는 코드 구조를 깔끔하게 하고 버그를 줄여 줍니다. - 개념 학습 코드
- 실습 코드 A: 매개변수 없는 함수
- 실습 코드 B: 매개변수와 반환값 연습
- 도전 과제
- 정답
- 설명: 1~9차시에서 배운 핵심 개념들을 빠르게 복습하고, 배운 내용을 종합해서 풀어보는 문제를 풉니다.
- 개념 학습 코드
- 실습 코드 A: 성적계산과 약어만들기
- 도전 과제
- 정답
- 설명: 컴퓨터는 원래 정해진 대로만 움직이지만,
random모듈을 사용하면 주사위 굴리기나 제비뽑기처럼 '무작위(랜덤)' 데이터를 만들어낼 수 있습니다. 예측 불가능한 재미 요소를 추가합니다. - 개념 학습 코드
- 실습 코드 A: 점심 메뉴 추천기
- 실습 코드 B: 로또 번호 생성기
- 도전 과제
- 정답
- 설명: 프로그램의 실행 속도를 조절하거나(잠시 멈춤), 현재 시간을 측정할 수 있습니다. 또한
datetime을 이용해 날짜 차이(D-Day)를 계산하는 방법을 배웁니다. - 개념 학습 코드
- 실습 코드 A: 3초 세기
- 실습 코드 B: 10초 맞추기
- 도전 과제
- 정답
- 설명: 화면에 거북이를 등장시켜 펜으로 그림을 그리듯 이동시키는 그래픽 모듈입니다. 눈에 보이는 결과를 통해 좌표계와 반복문의 원리를 직관적으로 이해할 수 있습니다.
- 개념 학습 코드
- 실습 코드 A: 삼각형 사각형
- 도전 과제
- 정답
- 설명: 단순한 도형 그리기에서 나아가, 반복문과 변수를 활용해 복잡하고 아름다운 패턴(소용돌이 등)을 그려봅니다. 마우스 클릭 같은 이벤트 처리도 다룹니다.
- 실습 코드 A: 컬러풀 소용돌이
- 실습 코드 A: 마우스 추적
- 도전 과제
- 정답
- 설명: 파이썬 코드로 인터넷 브라우저를 직접 조종합니다. 자주 방문하는 웹사이트들을 코드 한 줄로 한꺼번에 띄우는 자동화 프로그램을 만들어봅니다.
- 개념 학습 코드
- 실습 코드 A: 구글 검색
- 실습 코드 B: 사장님 모드
- 도전 과제
- 정답
- 설명: 변수에 저장된 데이터는 프로그램을 끄면 사라지지만, 파일 입출력을 배우면 데이터를 영구적으로 저장할 수 있습니다. 텍스트 파일(.txt)을 만들고 읽어오는 법을 익힙니다.
- 개념 학습 코드
- 실습 코드 A: 메모장 일기장
- 도전 과제
- 정답
- 설명: '라면 끓이는 순서'처럼 문제를 해결하는 절차인 알고리즘의 개념을 잡습니다. 파이썬만의 강력한 문법인 '리스트 컴프리헨션'을 통해 복잡한 반복문을 한 줄로 줄이는 마법을 배웁니다.
- 개념 학습 코드
- 실습 코드 A: 짝수찾기 고수용
- 도전 과제
- 정답
- 설명: 프링글스 통이나 웹 브라우저의 '뒤로 가기' 기능처럼, 나중에 들어간 데이터가 가장 먼저 나오는(LIFO) 자료구조의 원리를 이해하고 리스트로 구현합니다.
- 개념 학습 코드
- 실습 코드 A: 브라우저 뒤로가기
- 도전 과제
- 정답
- 설명: 맛집 대기 줄이나 프린터 인쇄 대기열처럼, 먼저 들어온 데이터가 먼저 처리되는(FIFO) 자료구조를 배웁니다.
collections모듈의deque를 활용해 효율적으로 구현합니다. - 개념 학습 코드
- 실습 코드 A: 식당 예약 시스템
- 도전 과제
- 정답
- 설명: 데이터를 찾을 때, 맨 앞에서부터 끝까지 하나하나 확인하는 가장 기초적인 탐색 방법을 배웁니다. 단순하지만 확실한 방법입니다.
- 개념 학습 코드
- 실습 코드 A: 선형 숫자 찾기
- 도전 과제
- 정답
- 설명: 데이터가 정렬되어 있을 때, 반씩 쪼개가며 탐색 범위를 좁히는 효율적인 방법을 배웁니다. Up/Down 게임의 원리와 같으며, 선형 탐색과 속도 차이를 비교해봅니다.
- 개념 학습 코드
- 실습 코드 A: 이진 탐색 숫자 찾기
- 도전 과제
- 정답
- 설명: 뒤죽박죽 섞인 데이터를 순서대로(오름차순/내림차순) 나열하는 원리를 배웁니다. 옆자리와 비교하여 자리를 바꾸는 '버블 정렬'의 개념을 그림으로 이해하고, 파이썬 내장 함수의 편리함을 체험합니다.
- 개념 학습 코드
- 실습 코드 A: 이진 탐색 숫자 찾기
- 도전 과제
- 정답
- 설명: 369 게임 로직 구현하기, 팰린드롬(거꾸로 해도 같은 말) 판별하기 등 간단하고 재미있는 알고리즘 문제를 스스로 해결하며 성취감을 느끼고 과정을 마무리합니다.
- 모음 찾기
- 369
- 팰린드롬
- 중복찾기
50분 * 25차시