Original article: 25 Python Projects for Beginners – Easy Ideas to Get Started Coding Python

새로운 프로그래밍 언어를 배우는 가장 좋은 방법은 그 언어를 사용한 프로젝트를 만드는 것입니다.

제가 파이썬에서 초급자가 하기 좋은 25가지 프로젝트 튜토리얼 목록을 생성하였습니다.

튜토리얼에 대한 저의 조언은 비디오를 보고 프로젝트를 만들어서 그것을 분해하고 여러분만의 방식으로 다시 만드는 것입니다. 새로운 기능을 추가하거나 다른 방법을 사용해 보세요.

그렇게 하면 당신이 정말로 개념을 이해했는지 확인할 수 있습니다.

아래 나열된 프로젝트 목록 중 어떤 것을 클릭하면 상세 해당 영역으로 이동할 수 있습니다.

만약 파이썬 기초에 익숙하지 않다면 여기 freeCodeCamp의 파이썬 튜토리얼 초급편을 보세요.

만들 수 있는 파이썬 프로젝트 목록

  1. 매드 립스(Mad Libs)
  2. 숫자 맞추기 게임 (컴퓨터)
  3. 숫자 맞추기 게임 (사용자)
  4. 가위 바위 보
  5. 행맨(Hangman)
  6. 카운트다운 타이머
  7. 암호 생성기
  8. QR 코드 인코더 / 디코더
  9. 틱택토(Tic-Tac-Toe)
  10. 틱택토(Tic-Tac-Toe) AI
  11. 이진 검색(Binary Search)
  12. 지뢰제거기
  13. 스도쿠 풀기
  14. 파이썬으로 사진 조작
  15. 마르코프 체인(Markov Chain) 텍스트 작성기
  16. 퐁(Pong)
  17. 뱀(Snake)
  18. 커넥트 4(Connect Four)
  19. 테트리스
  20. 온라인 멀티플레이어 게임
  21. 웹 스크래핑 프로그램
  22. 대량 파일 이름 변경
  23. 날씨 프로그램
  24. 파이썬으로 디스코드 봇 코딩 - 클라우드에서 무료로 호스트
  25. 우주 침략자 게임

매드 립스(Mad Libs)

Kylie Ying의 튜토리얼에서는 사용자 입력값을 얻는 것과 f-문자열(f-strings)을 다루는 것, 그리고 콘솔에 출력된 결과값을 보는 방법에 대해 배울 것입니다.

이것은 파이썬에서 문자열 연결을 하는 일을 익숙하게 하는 좋은 시작 프로젝트입니다.

숫자 맞추기 게임 (컴퓨터)

Kylie Ying의 튜토리얼에서 파이썬 랜덤 모듈(random module)을 다루거나 함수를 만들고 while문과 조건문을 다룬다든지 사용자 입력값을 받는 방법에 대해 배울 것입니다.

숫자 맞추기 게임 (사용자)

Kylie Ying의 튜토리얼에서 컴퓨터가 정확한 숫자를 맞춰야 하는 숫자 맞추기 게임을 만들 것입니다. 파이썬 랜덤 모듈(random module)을 다루거나 함수를 만들고 while문과 조건문을 다룬다든지 사용자 입력값을 받는 일을 할 것입니다.

가위 바위 보

Kylie Ying의 튜토리얼에서 random.choice()와 if문을 다루고, 사용자 입력값을 받는 일을 할 것입니다. 이것은 조건문이나 함수와 같은 기초를 다지는데 도움이 되는 좋은 프로젝트입니다.

행맨(Hangman)

Kylie Ying의 튜토리얼에서 딕셔너리(dictionaries), 리스트(list), 중첩 조건문(nested if statements)을 다루는 법을 배울 것입니다. 또한 문자열과 파이썬 랜덤 모듈(random modules)를 다루는 법도 배울 것입니다.

카운트다운 타이머

Code With Tomi 튜토리얼에서 파이썬 time 모듈을 사용하여 카운트다운 타이머를 만드는 법을 배울 것입니다. 이것은 파이썬에서 while문을 다루는데 익숙하게 하는 좋은 시작 프로젝트입니다.

비밀번호 생성기

Code With Tomi 튜토리얼에서 랜덤 비밀번호 생성기를 만드는 법을 배울 것입니다. 사용자로부터 비밀번호에 들어갈 숫자와 길이에 대한 데이터를 받아서 랜덤 문자가 들어간 비밀번호 모음을 출력할 것입니다.

이 프로젝트는 for looprandom 파이썬 모듈을 다루는 연습을 더 많이 제공할 것입니다.

QR 코드 인코더 / 디코더

Code With Tomi 튜토리얼에서 나만의 QR 코드를 만들고 부호화(encode)/해독(decode)하는 법을 배울 것입니다. 이 프로젝트는 qrcode 라이브러리를 사용합니다.

이것은 입문자가 다른 파이썬 모듈을 다루고 설치하는 것을 익숙하게 하는 좋은 프로젝트입니다.

틱택토(Tic-Tac-Toe)

Kylie Ying의 튜토리얼에서 커맨드 라인으로 다양한 플레이어와 함께하는 틱택토 게임을 만드는 법을 배울 것입니다. 파이썬의 time, math 모듈을 다루는 법을 배우면서 중첩 조건문(nested if statements) 연습을 이어서 하게 될 것입니다.

틱택토(Tic-Tac-Toe) AI

Kylie Ying의 튜토리얼에서 컴퓨터가 절대 지지 않는 틱택토 게임을 만드는 법을 배울 것입니다. 이 프로젝트는 의사 결정을 위해 사용되는 재귀 알고리즘인 미니맥스(minimax, 번역가 주: 추정되는 최대 손실을 최소화 하는 기법) 알고리즘을 활용합니다.

이진 검색(Binary Search)

Kylie Ying의 튜토리얼에서 이진 검색(binary search)라고 불리는 분할 정복(divide and conquer) 알고리즘을 구현하는 법을 배울 것입니다. 이것은 구직 면접에 자주 나오는 검색 알고리즘이기 때문에 코드로 어떻게 구현하는지를 아는 것이 중요합니다.

지뢰제거기

Kylie Ying의 튜토리얼에서 고전 지뢰제거기 게임을 커맨드 라인에 만들 것입니다. 이 프로젝트는 반복문과 클래스에 초점을 맞춥니다.

스도쿠 문제 해결 프로그램

Kylie Ying의 튜토리얼에서 역추적(backtracking) 기술을 활용한 스도쿠 문제 해결 프로그램을 만드는 법을 배울 것입니다. 역추적은 문제를 해결하기 위해 모든 가능한 조합을 검색하는 재귀 기술입니다.

파이썬으로 사진 조작

Kylie Ying의 튜토리얼에서 이미지 필터를 생성하여 사진의 명도와 밝기, 흐림 효과(blur)를 변경하는 법을 배울 것입니다. 프로젝트를 시작하기 전에 시작 파일들을 다운받아야 합니다.

마르코프 체인(Markov Chain) 텍스트 작곡가

Kylie Ying의 튜토리얼에서 마르코프 체인(Markov Chain) 그래프 모델에 대해 배우고 노래 가사 관계에 어떻게 적용될 수 있는지 배울 것입니다. 이 프로젝트는 파이썬으로 인공 지능을 시작하는데 좋습니다.

퐁(Pong)

Christian Thompson의 튜토리얼에서 파이썬으로 고전 퐁(pong) 게임을 재현하는 법을 배울 것입니다. 게임용 그래픽을 생성하는데 뛰어난 osturtle 파이썬 모듈을 사용하게 될 것입니다.

뱀(Snake)

Tech with Tim 튜토리얼에서 파이썬으로 고전 뱀(snake) 게임을 재현하는 법을 배울 것입니다. 이 프로젝트는 객체 지향 프로그래밍을 사용하고 게임을 만드는데 대중적인 파이썬 모듈인 Pygame을 사용합니다.

커넥트 4(Connect Four)

Keith Galli 튜토리얼에서 고전 커넥트 4(connect four) 게임을 만드는 법을 배울 것입니다. 이 프로젝트는 numpy, math, pygame, 그리고 sys 파이썬 모듈을 활용합니다.

이 프로젝트는 이전에 몇 가지 작은 입문자용 파이썬 프로젝트를 만들었을 때 좋습니다. 어떠한 파이썬 프로젝트를 하지 않았다면 목록에 앞서 언급한 프로젝트들 중 하나를 시작하고 나서 이것을 작업하길 추천합니다.

테트리스

Tech with Tim 튜토리얼에서 고전 테트리스 게임을 재현하는 법을 배울 것입니다. 이 프로젝트는 Pygame을 활용하고 초보 개발자들이 다음 단계로 실력을 끌어올리는데 좋습니다.

온라인 멀티플레이어 게임

Tech with Tim 튜토리얼에서 전 세계 어느 누구와 함께 플레이 할 수 있는 온라인 멀티플레이어 게임을 만드는 법을 배울 것입니다. 이 프로젝트는 소켓과 네트워킹, Pygame을 다루는데 좋은 입문 단계입니다.

웹 스크래핑 프로그램

Code With Tomi 튜토리얼에서 웹 스크래핑을 통해 사용자에게 깃허브(GitHub) 사용자 링크를 입력으로 받아 프로필 이미지 링크를 출력하는 법을 배우게 될 것입니다. 웹 스크래핑이란 웹 페이지에서 데이터를 수집하는 기술입니다.

대량 파일 이름 변경

Code With Tomi 튜토리얼에서 내 컴퓨터 어느 폴더에 접속하여 파이썬 코드에 적힌 조건들에 따라 파일 이름을 바꾸는 프로그램을 만드는 법을 배우게 될 것입니다.

날씨 프로그램

Code With Tomi 튜토리얼에서 사용자의 데이터를 특정 위치에 따라 수집하여 제공된 위치에 따른 날씨 상세 정보를 출력하는 프로그램을 만드는 법을 배우게 될 것입니다. 이것은 API에서 데이터를 받아오는 법을 배우는 것을 시작하는데 좋은 프로젝트입니다.

파이썬으로 디스코드 봇(bot) 코딩 - 클라우드에서 무료로 호스트

Beau Carnes 튜토리얼에서 사람들이 온라인 상에서 함께 어울리고 대화할 수 있는 플랫폼인 디스코드(Discord)에서 당신만의 봇(bot)을 만드는 법을 배우게 될 것입니다. 이 프로젝트는 Discord API와 Replit IDE를 사용해 작업하는 법을 가르쳐 줄 것입니다.

이 비디오가 공개된 후 Replit은 프로그램에 환경 변수를 저장하는 방법을 변경했습니다. Replit에 환경 변수를 올바르게 저장하는 방법에 대한 튜토리얼을 읽어보세요.

우주 침략자 게임

buildwithpython 튜토리얼에서 Pygame을 이용해 우주 침략자 게임을 만드는 법을 배우게 될 것입니다. 게임 루프(loops), 충돌 감지, 키 입력 이벤트 등과 같이 게임 개발에서 기본적인 많은 것들을 배우게 될 것입니다.