338 예제로 완성하는 파이썬
책 소개
이 책은 다양한 난이도의 예제를 재미있게 풀어보면서 자연스럽게 파이썬 프로그래밍의 기초와 활용 방법을 익힐 수 있도록 고안되었습니다. 프로그래밍을 처음 접하는 초보자나 다른 컴퓨터 언어는 어느 정도 알지만 파이썬은 처음인 분을 대상으로 독학, 그룹 스터디, 강의 교재로 활용하기에 적합한 책입니다. 문법 위주의 책을 가지고 공부하다 보면 지루해져서 중간에 중단하는 경우가 많습니다. 이 책은 아주 쉬운 간단한 예제부터 시작하여 기초 문법과 프로그램을 숙달을 위한 코딩 연습과 매 챕터 뒤에 있는 연습문제를 통하여 그 챕터의 내용을 온전하게 이해할 수 있도록 구성 되었습니다.
목차
Chapter 01. 파이썬과 설치
1.1 파이썬 개요
1.1.1 파이썬이란?
1.1.2 파이썬의 장점
1.2 파이썬 설치
1.2.1 설치 프로그램 다운로드
1.2.2 프로그램 설치하기
1.3 파이썬 쉘 사용법
1.4 IDLE 에디터 사용법
1.4.1 IDLE 에디터에서 프로그램 작성하기
1.4.2 실습 폴더 만들기
1.4.3 작성한 프로그램 저장하기
1.4.4 저장한 프로그램 실행하기
[퀴즈]
Q1-1 파이썬 특징
Q1-2 파이썬 개발 툴
Q1-3 프로그램 작성과 실행
[연습문제]
Chapter 02. 파이썬의 기본 문법
2.1 변수
2.1.1 변수 값의 저장과 출력
2.1.2 변수명
2.2 숫자와 연산자
2.2.1 정수형 숫자
2.2.2 실수형 숫자
2.2.3 사칙 연산자
2.2.4 나머지 연산자
2.2.5 소수점 절삭 연산자
2.2.6 거듭게곱 연산자
2.3 문자열
2.3.1 문자열의 추출
2.3.2 문자열 연결 연산자
2.3.3 문자열 반복 연산자
2.3.4 문자열 길이 구하기
2.3.5 문자열 포맷팅
2.4 키보드 입력
2.5 화면 출력
2.5.1 콤마로 구분하여 출력하기
2.5.2 키워드 sep으로 출력하기
2.5.3 문자열 포맷 코드로 출력하기
2.5.4 이스케이프 코드 출력하기
2.6 프로그래밍 맛보기
2.6.1 파일로 프로그램 작성하기
2.6.2 탄생년을 입력받아 나이 계산하기
2.7 주석문
[퀴즈]
Q2-1 유효한 변수명
Q2-2 숫자와 연산자
Q2-3 문자열에서 문자 추출
Q2-4 문자열 연결/반복 연산자
Q2-5 문자열 길이 구하기
Q2-6 키보드 입력 데이터 처리
Q2-7 print() 함수로 출력하기
[코딩연습]
C2-1 년월일 사이에 '.'을 삽입하라!
C2-2 사각형 둘레와 면적을 계산하라!
C2-3 원의 둘레와 면적 계산하라!
C2-4 인치(inch)를 센티미터(cm)로 환산하라!
C2-5 책 결제 금액 계산하라!
[연습문제]
Chapter 03. 조건문
3.1 조건문이란?
3.2 비교 연산자와 논리 연산자
3.2.1 비교 연산자
3.2.2 논리 연산자
3.3 if ~ 구문
3.3.1 if~ 구문의 기본 구조
3.3.2 배수 판별하기
3.3.3 영어 단어 퀴즈 만들기
3.4 if ~ else ~ 구문
3.4.1 자격증 시험 합격/불합격 판정하기
3.4.2 영문 소문자 자음/모음 판별하기
3.5 if ~ elif ~ else ~ 구문
3.5.1 점수에 따라 학점 판정하기
3.5.2 간단 계산기 만들기
3.6 if문의 중첩
[코딩 연습]
C3-1 특정 범위에 있는 수인지 판정하라!
C3-2 월을 입력받아 계절을 판별하라!
C3-3 주민번호로 남/여를 판정하라!
C3-4 영문 소문자 또는 대문자의 자음/모음을 판별하라!
C3-5 다이어트 필요성을 판정하라!
C3-6 아르바이트 급여를 계산하라!
C3-7 할인율에 따라 지불 금액을 계산하라!
C3-8 서비스 만족도에 따라 팁을 계산하라!
C3-9 세 정수 중 가장 큰 수를 찾아라!
C3-10 웹 사이트 콘텐츠 이용 가능 여부를 판단하라!
C3-11 온도에 따라 물의 상태를 판별하라!
[연습문제]
Chapter 04. 반복문
4.1 반복문이란?
4.2 for 문
4.2.1 for문의 기본 구조
4.2.2 range() 함수
4.2.3 5의 배수 합계 구하기
4.2.4 for문에서 문자열 다루기
4.2.5 온도 환산표 만들기
4.3 이중 for문
4.4 while문
4.4.1 while문의 기본 구조
4.4.2 while문으로 5의 배수 합계 구하기
4.4.3 while문으로 영어 모음 개수 구하기
4.5 break문으로 빠져 나가기
[코딩 연습]
C4-1 for문으로 5의 배수가 아닌 수를 출력하라!
C4-2 for문으로 길이 환산표를 만들어라!
C4-3 for문으로 별표(*) 트리를 만들어라!
C4-4 C4-3의 트리 모양을 변경하라!
C4-5 for문으로 홀수의 개수를 카운트하라!
C4-6 for문으로 무게 단위 환산표를 만들어라!
C4-7 이중 for문으로 사각형 형태를 만들어라!
C4-8 이중 for문으로 역삼각형 형태의 숫자를 만들어라!
C4-9 while문으로 홀수의 누적 합계를 구하라!
C4-10 while문으로 통화 환산표를 만들어라!
C4-11 while문으로 영어 문장을 역순으로 출력하라!
[연습문제]
Chapter 05. 리스트
5.1 리스트란?
5.1.1 리스트 생성하기
5.1.2 리스트에서 요소 추출하기
5.2 반복문과 리스트
5.2.1 for문에서 리스트 사용하기
5.2.2 while문에서 리스트 사용하기
5.3 리스트 요소 변환
5.3.1 리스트 요소 수정하기
5.3.2 리스트 요소 추가하기
5.3.3 리스트 요소 삽입하기
5.3.4 리스트 요소 위치 찾기
5.3.5 리스트 요소 삭제하기
5.4 리스트 다루기
5.4.1 리스트 병합하기
5.4.2 리스트 합계 구하기
5.4.3 리스트 순서 반대로 하기
5.4.4 리스트 복사하기
5.4.5 리스트 정렬하기
5.5 문자열과 리스트
5.5.1 문자열 찾기
5.5.2 문자열 치환하기
5.5.3 문자열 쪼개기
5.5.4 리스트 문자열로 변환하기
5.5.5 리스트 문자열에 하이픈 삽입하기
5.5.6 리스트 문자열에서 하이픈 삭제하기
5.6 2차원 리스트
5.6.1 2차원 리스트의 구조
5.6.2 2차원 리스트와 이중 for문
5.6.3 2차원 리스트로 합계와 평균 구하기
5.6.4 2차원 리스트로 문자열 다루기
[코딩연습]
C5-1 1 ~ 20의 양의 정수 리스트를 생성하라!
C5-2 C5-1에서 짝수 번째 요소를 출력하라!
C5-3 C5-2에서 홀수 번째 요소를 출력하라!
C5-4 빈 리스트에 요소를 추가하라!
C5-5 리스트로 영어 스펠링 퀴즈를 만들어라!
C5-6 리스트로 성적의 합계와 평균을 구하라!
C5-7 리스트로 수/우/미/양/가 개수를 카운트하라!
C5-8 리스트로 영화관의 예약 가능 좌석을 표시하라!
[연습문제]
Chapter 06. 튜플과 딕셔너리
6.1 튜플이란?
6.1.1 튜플 생성하기
6.1.2 튜플 요소 추출하기
6.1.3 튜플 길이 구하기
6.1.4 튜플 병합하기
6.1.5 튜플에 관리자 정보 저장하기
6.2 딕셔너리란?
6.2.1 딕셔너리 생성하기
6.2.2 딕셔너리 요소 추출하기
6.3 딕셔너리 요소 변환
6.3.1 딕셔너리 요소 추가하기
6.3.2 딕셔너리 요소 수정하기
6.3.3 딕셔너리 요소 삭제하기
6.4 for문과 딕셔너리
[코딩연습]
C6-1 튜플로 구구단표를 만들어라!
C6-2 딕셔너리로 성적 합계 평균을 구하라!
C6-3 딕셔너리로 정보 접근을 제어하라!
C6-4 딕셔너리로 영어 단어 퀴즈를 만들어라!
[연습문제]
Chapter 07. 함수
7.1 함수란?
7.1.1 함수 정의와 호출
7.1.2 함수의 종류
7.2 매개변수
7.2.1 매개변수란?
7.2.2 매개변수와 인수
7.2.3 매개변수의 유효 범위
7.2.4 매개변수 *args
7.2.5 매개변수에 리스트 전달하기
7.3 함수 값의 반환
7.4 지역 변수와 전역 변수
7.4.1 지역 변수
7.4.2 전역 변수
7.4.3 키워드 global
[코딩연습]
C7-1 함수와 매개변수로 두 수의 합을 구하라!
C7-2 함수와 매개변수로 정수 합계를 구하라!
C7-3 매개변수 *args를 활용하는 프로그램을 작성하라!
C7-4 함수에서 리스트를 활용하는 프로그램을 작성하라!
C7-5 함수로 삼각형의 면적을 계산하라!
C7-6 함수로 배수의 합계를 구하라!
C7-7 함수로 문장에 포함된 공백을 카운트하라!
C7-8 함수로 게임 아이템을 가져오라!
[연습문제]
Chapter 08. 함수 활용
8.1 파이썬의 내장 함수
8.1.1 아스키 코드 구하기 - ord()
8.1.2 2진수/16진수 변환하기 - hex(), bin()
8.1.3 반올림 값 구하기 - round()
8.1.3 최댓값/최솟값 구하기 - max(), min()
8.2 사용자 함수 활용
8.2.1 소수 여부 판별하기
8.2.2 세제곱 합계 구하기
8.2.3 회문인지 판별하기
8.2.4 문장 단어 반대로 하기
8.2.5 문자열 존재 여부 판별하기
8.2.6 다수의 문자열 치환하기
8.2.7 문자열 위치 이동시키기
8.3 선형 탐색
8.4 이진 탐색
[코딩연습]
C8-1 예제 8-6의 출력 포맷을 바꾸어라!
C8-2 1~N 홀수의 세제곱 합을 구하라!
C8-3 키보드로 입력받은 단어가 회문인지 판별하라!
C8-4 문장의 단어 개수를 카운트하라!
C8-5 문장에서 특정 단어를 삭제하라!
[연습문제]
Chapter 9. 모듈
9.1 모듈이란?
9.1.1 모듈 생성하고 불러오기
9.1.2 import ~ 구문
9.1.3 import ~ as ~ 구문
9.1.4 from ~ import ~ 구문
9.2 math 모듈
9.3 time 모듈
9.3.1 현재 시간 구하기
9.3.2 타임스탬프를 문자열로 변환하기
9.3.3 시간을 특정 포맷으로 변환하기
9.3.4 시간 지연시키기
9.3.5 프로그램 실행 시간 측정하기
9.4 datetime 모듈
9.4.1 날짜와 시간에 대한 산술 연산
9.4.2 오늘의 날짜 구하기
9.4.3 일주일 후의 날짜 구하기
9.4.4 현재의 날짜와 시간 구하기
9.5 random 모듈
9.6 주사위 게임 만들기
9.6.1 게임 시작 시간 표시하기
9.6.2 주사위 던지기
9.6.3 승부 판정하기
9.6.4 프로그램 전체 소스
[연습문제]
Chapter 10. 파일과 예외처리
10.1 텍스트 파일
10.1.1 텍스트 파일 쓰기
10.1.2 텍스트 파일 읽기
10.1.3 파일에서 성적 평균 구하기
10.1.4 파일과 폴더 삭제하기
10.2 CSV 파일
10.2.1 CSV 파일 읽기
10.2.2 CSV 헤더 추출하기
10.2.3 CSV 데이터 추출하기
10.2.4 CSV 파일 쓰기
10.3 JSON 파일
10.3.1 JSON 인코딩
10.3.2 JSON 디코딩
10.4 예외 처리
10.4.1 try~ except~ 구문
10.4.2 try~ except~ finally~ 구문
[연습문제]
Chapter 11. 객체지향 프로그래밍
11.1 클래스
11.1.1 클래스란?
11.1.2 매개변수 self
11.2 생성자
11.3 속성
11.3.1 클래스 속성
11.3.2 인스턴스 속성
11.4 상속
11.4.1 상속의 개념
11.4.2 부모 클래스 생성자 호출
11.4.3 메소드 오버라이딩
[코딩연습]
C11-1 객체지향으로 원의 면적을 구하라!
C11-2 객체지향으로 성적의 평균을 구하라!
C11-3 객체지향으로 사칙연산을 계산하라!
C11-4 클래스/인스턴스 속성을 활용하라!
C11-5 메소드 오버라이딩을 활용하라!
[연습문제]
저자 : 황재호
경희대학교 전자공학과를 졸업하고 동 대학원에서 석ㆍ박사를 취득했다. KT 연구개발본부에서 연구원으로 근무하며 MPEG-2 비디오 코덱 시스템을 개발하였다. 저서로는 한빛 아카데미의 『PHP 프로그래밍 입문』, 『HTML/CSS for Beginner』와 한빛 미디어의 『헬로코딩 : HTML5/CSS3』와 인포앤북의 『스타트 파이썬』, 『똑똑한 파이썬』, 『파이썬 입문 with 데이터분석/시각화』, 『HTML/CSS 입문』 등 10권의 도서가 있다. 현재는 프로그래밍 서적 집필과 온라인 콘텐츠 개발에 힘쓰고 있다.