파이썬 완전 초보 탈출 16강, 드디어 지금까지 배운 내용을 바탕으로 직접 프로그램을 만들어볼 시간입니다!
이 강의에서는 아주 간단하지만 실용적인 **메뉴 기반 프로그램**을 하나 만들면서, 조건문, 반복문, 함수, 파일 입출력, 리스트, 딕셔너리 등 지금까지 배운 기술들을 종합적으로 활용해보겠습니다.
📌 만들 프로그램 소개
이번에 만들 프로그램은 “할 일 목록 관리 프로그램”입니다.
기능:
1. 할 일 추가
2. 할 일 목록 보기
3. 할 일 삭제
4. 저장 및 종료
이 프로그램은 사용자의 입력을 받고, 리스트로 데이터를 관리하며, 종료 시 파일에 저장합니다. 다음 실행 시 저장된 목록을 다시 불러올 수 있도록 구성할 거예요.
🛠 준비: 기본 구조 잡기
“`python
todo_list = []
def show_menu():
print(“\n1. 할 일 추가”)
print(“2. 할 일 목록 보기”)
print(“3. 할 일 삭제”)
print(“4. 저장하고 종료”)
“`
💾 파일 불러오기 기능 추가
“`python
def load_data():
try:
with open(“todo.txt”, “r”, encoding=”utf-8″) as f:
for line in f:
todo_list.append(line.strip())
except FileNotFoundError:
pass # 파일 없으면 무시
“`
✅ 할 일 추가 함수
“`python
def add_todo():
task = input(“추가할 할 일을 입력하세요: “)
todo_list.append(task)
print(f”‘{task}’가 추가되었습니다.”)
“`
✅ 할 일 목록 보기 함수
“`python
def view_todo():
if not todo_list:
print(“할 일이 없습니다.”)
else:
for i, task in enumerate(todo_list):
print(f”{i+1}. {task}”)
“`
✅ 할 일 삭제 함수
“`python
def delete_todo():
view_todo()
try:
idx = int(input(“삭제할 번호를 입력하세요: “)) – 1
if 0 <= idx < len(todo_list): removed = todo_list.pop(idx) print(f”‘{removed}’가 삭제되었습니다.”) else: print(“유효하지 않은 번호입니다.”) except ValueError: print(“숫자를 입력해주세요.”) “` ✅ 저장 및 종료 함수 “`python def save_and_exit(): with open(“todo.txt”, “w”, encoding=”utf-8″) as f: for task in todo_list: f.write(task + “\n”) print(“저장 완료! 프로그램을 종료합니다.”) exit() “` 🔁 전체 흐름 구성 “`python load_data() while True: show_menu() choice = input(“메뉴 선택: “) if choice == “1”: add_todo() elif choice == “2”: view_todo() elif choice == “3”: delete_todo() elif choice == “4”: save_and_exit() else: print(“1~4번 중에서 선택해주세요.”) “` ✅ 실행하면 할 수 있는 것들 – 프로그램을 종료해도 파일(todo.txt)에 내용이 저장됨 – 다시 실행하면 기존 목록이 자동으로 로드됨 – 숫자 기반 메뉴로 직관적인 사용자 경험 제공 💡 확장 아이디어 – 날짜와 시간 추가 – 우선순위 설정 – 완료된 할 일 구분 – GUI(그래픽 인터페이스)로 바꾸기 (tkinter 활용) 📚 오늘의 요약 – 지금까지 배운 내용을 종합해 미니 프로그램을 만들어 봄 – 함수 분리, 조건문, 반복문, 리스트, 파일 저장을 실전으로 활용 – 작고 단순한 프로젝트라도 구조화된 코딩이 얼마나 중요한지 체험 📘 다음 강의 예고 17강: GUI 프로그래밍 입문 – tkinter로 나만의 앱 만들기
다음 시간엔 우리가 만든 프로그램에 그래픽 화면을 입히는 방법을 배워볼 거예요. 버튼, 입력창, 목록창 등 시각적 요소가 추가된 진짜 프로그램으로 한 단계 더 성장해봅시다!
—
이 강의는 파이썬 완전 초보자를 위한 연재 시리즈입니다. 매주 새로운 강의로 업데이트됩니다.