[9주차] Do it! 파이썬 스터디 노트 - 점프 투 파이썬

2023. 9. 16. 22:13Python/Do it! 파이썬 스터디 2기

728x90

Do it! 파이썬 스터디 노트 - 점프 투 파이썬

 

 

1. 《Do it! 점프 투 파이썬》 -전면 개정 2판 글감을 추가해주세요.

 
 

 

 

 

 

2. 미션 인증샷을 남겨 주세요! (책과 함께 공부하는 모습을 찍어주세요! 책과 모니터가 함께 보이면 더 좋아요!)

 

 

 

3. 이번 미션을 진행하면서 좋았던 점이나 어려웠던 점 또는 새로 알게 된 점이 있었나요? (200자 내외 / 실습 부분을 캡쳐해도 좋아요!)

 
📖
미션 범위 (점프 투 파이썬 책 페이지)
일정
9주차
6장 파이썬 프로그래밍, 어떻게 시작해야 할까?
(305pg - 322pg)
8/21-8/27

 

프로그램을 시작할 때 벽에 부딪히게 된다면, 먼저 다른 사람이 만든 프로그램 소스를 분석하여 아이디어를 얻어 봅니다. 또한 프로그램을 어떻게 만들어야 할지 갈피를 못 잡을 때는 가장 먼저 '입력'과 '출력'을 생각하는 것에 대해 배웠습니다. 아직 갈 길이 멉니다. 😪

 

 

1. 내가 프로그램을 만들 수 있을까?

- 문법도 어느 정도 알겠고 책 내용도 대부분 이해되는데, 이러한 지식을 바탕으로 어떤 프로그램을 만들 수 있을까?

. 이 경우 다른 사람들이 만든 프로그램 파일을 자세히 들여다보고 분석하는 데서 시작

→ 자신의 수준에 맞는 소스를 찾기: 다른 사람들의 생각도 읽을 수 있고 새로운 아이디어가 떠오를 수도 있음

. 프로그램을 만들려면 가장 먼저 '입력'과 '출력'을 생각

- 구구단 프로그램 작성

. 함수 이름: gugu | 입력받는 값: 2 | 출력하는 값: 2단(2,4,6,8,…,18) | 결과: 연속된 자료형이므로 리스트!

→ 리스트에 요소 추가: append | 똑같은 일을 반복할 때는 반복문: while | 해당 코드를 함수에 적용: gugu(n)

 

​2. 3과 5의 배수를 모두 더하기

- 10 미만의 자연수에서 3과 5의 배수를 구하면 3, 5, 6, 9이다. 이들의 총합은 23이다. 1000 미만의 자연수에서 3의 배수와 5의 배수의 총합을 구하라.

. 입력 받는 값: 1부터 999까지(1000 미만의 자연수) | 출력하는 값: 3의 배수와 5의 배수의 총합

. 생각해 볼 것: 3의 배수와 5의 배수는 어떻게 찾지? 3의 배수와 5의 배수가 겹칠 때는 어떻게 하지?

→ 해당 수로 나누었을 때 나머지가 0인 경우: % | 3의 배수와 5의 배수가 중복으로 더해지는 것을 방지: or

- 코딩 연습 사이트: 프로젝트 오일러

. http://projecteuler.net/archives

 

3. 게시판 페이징하기

- 게시물의 총 개수와 한 페이지에 보여 줄 게시물 수를 입력으로 주었을 때 총 페이지 수를 출력하는 프로그램이 필요

. 페이징: 게시판의 페이지 수를 구하는 것

. 함수 이름: getTotalPage

. 입력값: 게시물의 총 개수(m), 한 페이지에 보여줄 게시물 수(n) | 출력값: 총 페이지수

→ 총 페이지 수 = (총 게시물 개수 / 한 페이지당 보여 줄 개수) + 1 [나머지가 0인 경우에는 +1 생략]

 

4. 간단한 메모장 만들기

- 원하는 메모를 파일에 저장하고 추가 및 조회가 가능한 간단한 메모장을 제작

. python memo.py -a "Life is too short"

. 필요한 기능: 메모 추가, 메모 출력 / 입력값: 메모 내용, 프로그램 실행 옵션 / 출력값: memo.txt

→ 옵션값: sys.argv[1] / 메모 내용: sys.argv[2] / 줄바꿈 추가: \n

 

​5. 탭 문자를 공백 문자 4개로 바꾸기

- 문서 파일을 읽어서 그 문서 파일 안에 있는 탭 문자(Tab)를 공백 문자(Spacebar) 4개로 변경

. python tabto4.py a.txt b.txt

. 필요한 기능: 문서 파일 읽기, 문자열 변경 / 입력값: 탭을 포함한 문서 파일 / 출력값: 탭이 공백으로 수정된 문서 파일

→ 탭을 공백 4개로 변경: replace("\t", " "*4)

 

​6. 하위 디렉터리 검색하기

- 특정 디렉터리부터 시작해서 그 하위(디렉터리 포함) 모든 파일 중 파이썬 파일(*.py)만 출력

. 해당 디렉터리에 있는 파일의 리스트를 확인: os.listdir / 디렉터리와 파일 이름을 연결: os.path.join

. 파일 이름에서 확장자만 추출: os.path.splitext / 오류 방지: try-except문

. 디렉터리인지 파일인지 구별: os.path.isdir / 모든 파일 검색: 다시 search 함수를 호출(재귀 호출)

- os.walk: 시작 디렉터리부터 시작해 하위에 있는 모든 디렉터리를 차례대로 방문하는 함수

 

 

 

4. 스터디를 같이 진행하는 분들과 (동지들과!) 함께 이야기 나누고 싶은 부분이 있다면 작성해 주세요!

 

프로그램 작성이 어렵고 막히는 부분이 있는 경우, Do it! 스터디룸 외에도 저자님께서 운영하시는 사이트에 방문하셔서 도움을 요청하시는 것은 어떠실까요?

 

1) 파이보

- 파이썬 '질문과 답변' 게시판 서비스: https://pybo.kr

 

2) 코딩도장

- 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(Practice)하는 곳: http://codingdojang.com

 

 

□ 1년 전 스터디 노트 (개정판)

https://cafe.naver.com/doitstudyroom/38535

 

 

728x90