본문 바로가기

카테고리 없음

[Python] 파이썬으로 만드는 간단한 TodoList 애플리케이션

반응형

 

이번에는  파이썬을 사용하여 간단한 콘솔 기반 TodoList 애플리케이션을 만들어보겠습니다. 이 애플리케이션은 할 일 추가, 조회, 완료 표시, 삭제 기능을 포함할 것입니다.

전체 코드

먼저 전체 코드를 보여드리고, 그 다음에 각 부분을 설명하겠습니다.

class TodoList:
    def __init__(self):
        self.tasks = []

    def add_task(self, task):
        self.tasks.append({"task": task, "completed": False})
        print(f"할 일 '{task}'가 추가되었습니다.")

    def view_tasks(self):
        if not self.tasks:
            print("할 일 목록이 비어있습니다.")
        else:
            for index, task in enumerate(self.tasks, 1):
                status = "완료" if task["completed"] else "미완료"
                print(f"{index}. {task['task']} - {status}")

    def complete_task(self, task_index):
        if 1 <= task_index <= len(self.tasks):
            self.tasks[task_index-1]["completed"] = True
            print(f"할 일 '{self.tasks[task_index-1]['task']}'가 완료되었습니다.")
        else:
            print("유효하지 않은 할 일 번호입니다.")

    def delete_task(self, task_index):
        if 1 <= task_index <= len(self.tasks):
            deleted_task = self.tasks.pop(task_index-1)
            print(f"할 일 '{deleted_task['task']}'가 삭제되었습니다.")
        else:
            print("유효하지 않은 할 일 번호입니다.")

def main():
    todo_list = TodoList()

    while True:
        print("\n===== Todo List 애플리케이션 =====")
        print("1. 할 일 추가")
        print("2. 할 일 목록 조회")
        print("3. 할 일 완료 표시")
        print("4. 할 일 삭제")
        print("5. 종료")

        choice = input("원하는 작업의 번호를 입력하세요: ")

        if choice == "1":
            task = input("추가할 할 일을 입력하세요: ")
            todo_list.add_task(task)
        elif choice == "2":
            todo_list.view_tasks()
        elif choice == "3":
            todo_list.view_tasks()
            task_index = int(input("완료할 할 일의 번호를 입력하세요: "))
            todo_list.complete_task(task_index)
        elif choice == "4":
            todo_list.view_tasks()
            task_index = int(input("삭제할 할 일의 번호를 입력하세요: "))
            todo_list.delete_task(task_index)
        elif choice == "5":
            print("애플리케이션을 종료합니다.")
            break
        else:
            print("잘못된 선택입니다. 다시 선택해주세요.")

if __name__ == "__main__":
    main()

코드 설명

  1. TodoList 클래스:
    • __init__: 할 일 목록을 저장할 빈 리스트를 초기화합니다.
    • add_task: 새로운 할 일을 목록에 추가합니다.
    • view_tasks: 현재 할 일 목록을 출력합니다.
    • complete_task: 지정된 할 일을 완료 상태로 표시합니다.
    • delete_task: 지정된 할 일을 목록에서 삭제합니다.
  2. main 함수:
    • 사용자 인터페이스를 제공하고 사용자의 입력에 따라 적절한 메서드를 호출합니다.
    • 무한 루프를 사용하여 사용자가 종료를 선택할 때까지 계속 실행됩니다.
  3. if __name__ == "__main__"::
    • 이 스크립트가 직접 실행될 때만 main 함수를 호출합니다.

실행 방법

  1. 위의 코드를 todo_list.py라는 이름의 파일로 저장합니다.
  2. 터미널이나 명령 프롬프트를 열고, 파일이 있는 디렉토리로 이동합니다.
  3. python todo_list.py 명령어를 실행합니다.

이제 콘솔에서 메뉴가 표시되고, 숫자를 입력하여 원하는 작업을 선택할 수 있습니다.

할 일을 추가, 조회, 완료 표시, 삭제할 수 있으며, '5'를 입력하여 프로그램을 종료할 수 있습니다.

 

이 파이썬 버전의 TodoList 애플리케이션은 간단하지만 기본적인 기능을 모두 갖추고 있습니다.

 

반응형