Python 실습 챌린지

본 과정은 Python 을 위한 다양한 챌린지를 포함하고 있으며, 각 챌린지는 상세한 지침과 솔루션을 갖춘 작은 Python 프로젝트입니다. 이러한 챌린지를 풀면서 Python 실력을 향상시키고, 문제 해결 능력을 키우며, 깔끔하고 효율적인 코드를 작성하는 방법을 배울 수 있습니다.

Python

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

강의 계획

Hello Python 출력하기

시간을 초 단위로 변환하기

나이 제한 확인

복제 군인 찾기

통계적 학습 데이터

실험 기록 병합

목표 값에 합산되는 정수 쌍 찾기

작업 파일 정렬 및 정리

Requests를 활용한 웹 크롤러 개발

영양 정보 추출

학습 기록 저장

Conda 환경 관리

기본 Python 수학 연산자

체질량 지수 계산기

Python 을 이용한 등산로 모니터링

윤년 확인 파이썬 챌린지

긴 단어 개수 세기

Python 회문 검사기

100 미만 소수의 합

곱셈표 출력하기

처리 시간 계산기

Python 온도 변환기

학교 성적 산출 시스템

모든 짝수의 합

정수 리스트에서 목표 표현식 찾기

레시피 추천 프로그램

명령줄 계산기

Python 을 이용한 문서 관리

경과 시간 계산기

Python Argparse 를 사용하여 맞춤형 인사말 생성하기

F-String 을 이용한 맞춤형 메시지

소규모 온라인 서점

대사관 방문객 추적

간단한 쇼핑 카트

침투 테스트에서의 암호화 및 복호화

과일 바구니로 배우는 파이썬 실습

수제 보석 판매 추적 (Python 사용)

영화관 티켓

웹페이지 열기 자동화

계산기 단위 테스트

문자열 내 중복 문자 개수 세기

지역 및 전역 범위

숫자 연산을 위한 매직 메서드

문자열 연산을 위한 매직 메서드

삼각형 출력하기

Python 클래스 상속

데코레이터의 힘 발휘하기

TTL(Time To Live) 지원 속성 데코레이터 구현

수학 표현식 평가기

학교 출석 추적기

시간 차이 계산기

시간은 빠르게 흐른다 (Time Flies When Time Trials)

액세스 로그 통계 분석

기본 Tqdm 사용법

가짜 사람 만들기

파이썬 계산기 만들기

버스 승객 수용 능력 계산

JSON 파서 완성하기

데이터 타입 개수 세기

모음 개수 세기

Python 반복자 생성하기

데이터 타입 조작

물 섭취량 추적 앱 개발

딕셔너리 키 - 값 교환기

두 리스트의 교집합 찾기

소방서 경보 시스템

식료품 목록 생성기

호텔 객실 가용성 확인기

딕셔너리처럼 동작하는 객체 만들기

리스트처럼 동작하는 객체 만들기

Set 처럼 동작하는 객체 만들기

Pil 을 이용한 이미지 조작

다중 스레드 마켓플레이스 시뮬레이션

대규모 데이터셋에 대한 병렬 연산

Multiprocessing 을 이용한 Python 병렬 처리

우편번호 할당 프로그램

연산자 할당 연습

Python 집합 교집합 함수

Pathlib 를 활용한 파이썬다운 파일 경로 관리

실시간 데이터 처리 시스템

정규 표현식 마스터하기

학교 등록 시스템

학교 시험 분석

학교 시험 채점기

파이썬다운 코드로 간소화하기

솔리테어 타이핑 및 문자열 처리

Python 왈러스 연산자를 사용한 문제 해결

Decimal 모듈 마스터하기

Unicodedata 의 잠재력 발휘하기

시장 선거 투표 시스템

Python 을 이용한 창고 재고 관리

BeautifulSoup 를 이용한 웹 스크래핑

파이썬을 이용한 통화 환전

오류 및 예외 처리

파일을 보스처럼 다루기

텍스트 데이터 활용하기

JSON 파일 다루기

SOS 신호 전송

시간대 변환기

토큰 기반 사용자 인증 구현

소개

Python 실습 챌린지는 Python 지식을 작동하는 해결책으로 바꾸는 104개의 독립 코딩 문제로 구성됩니다. 계산, 조건문, 문자열, 컬렉션 같은 작은 과제부터 시작해 명령줄 도구, 객체 지향 설계, 파일 처리, 웹 데이터, 동시성으로 확장됩니다.

각 문제는 구현할 구체적인 결과와 자동 검사를 제공하며, 직접 시도한 뒤 확인할 수 있는 해답도 포함합니다. Beginner 53개, Intermediate 47개, Advanced 4개로 구성되어 꾸준한 연습과 특정 기술 점검에 모두 활용할 수 있습니다.

학습 내용

  • 짧은 요구 사항을 검증 가능한 결과를 내는 Python 프로그램으로 변환
  • 계산, 분기, 반복, 문자열, 컬렉션, 검색 문제 해결
  • 함수, 이터레이터, 클래스, 매직 메서드, 상속, 프로퍼티, 데코레이터 설계
  • 텍스트, 정규 표현식, JSON, 로그, 경로, 파일, 날짜, 시간대 데이터 분석 및 변환
  • 명령줄 유틸리티 제작과 입력 검증, 예외 처리, 단위 테스트 연습
  • Requests, Beautiful Soup, Pillow, tqdm, SQLite, conda 등 지정 라이브러리와 도구 활용
  • 스레딩, 멀티프로세싱, 비동기 프로그래밍을 동시 작업에 적용
  • 구현을 제공된 해답과 비교하고 자동 피드백으로 수정

추천 대상

Python 기본 문법을 이미 알고 충분한 문제 해결 연습을 원하는 학습자에게 적합합니다. 초보자는 짧은 입문 문제부터 시작할 수 있고, 경험자는 데코레이터, 파일 처리, 웹 스크래핑, 인증, 동시성 관련 중급·고급 문제를 선택할 수 있습니다.

선수 지식: 간단한 Python 스크립트를 작성·실행할 수 있고 변수, 조건문, 반복문, 함수, 문자열, 일반 컬렉션을 이해해야 합니다. 고급 문제는 해당 주제 지식을 전제로 하며, 모든 개념을 시험 전에 처음부터 가르치는 과정은 아닙니다.

학습 환경: 대부분의 문제는 편집기와 터미널이 있는 Ubuntu 22.04 WebIDE에서 실행되며, 4개는 Ubuntu 22.04 VNC 데스크톱을 사용합니다. 시작 파일, 테스트, 필요한 자료가 제공되고 일부 문제는 Beautiful Soup, Pillow, aiohttp, Requests, pytz, tqdm 등의 패키지를 설치합니다.

자주 묻는 질문

104개 문제가 모두 초급인가요?

아닙니다. Beginner 53개, Intermediate 47개, Advanced 4개입니다. 과정 수준은 접근 가능한 시작점을 뜻하지만, 후반 문제에는 데코레이터, 명령줄 인수 처리, 스레딩, 멀티프로세싱, 비동기 코드가 필요할 수 있습니다.

가이드형 수업인가요, 스스로 푸는 문제인가요?

먼저 직접 해결하는 챌린지입니다. 요구 사항과 시작 자료를 받은 뒤 결과를 구현하고 자동 검사를 실행합니다. 모든 작업 단계에 해답이 있어 직접 시도한 뒤 접근법을 비교할 수 있습니다.

순서대로 완료해야 하나요?

아닙니다. 각 문제는 독립적이며 하나의 누적형 애플리케이션을 구성하지 않습니다. 필요한 Python 개념을 안다면 기초부터 시작하거나 주제와 난이도로 선택할 수 있습니다.

대형 종합 프로젝트가 포함되나요?

아닙니다. 하나의 종합 프로젝트 대신 자체 완결형 소규모 시나리오를 다수 사용해 언어 기능, 표준 모듈, 지정된 외부 패키지, 다양한 문제 유형을 폭넓게 반복 연습합니다.

강사

labby
Labby
Labby is the LabEx teacher.