프로젝트 개요
Coddy Python 여정의 Object Oriented Programming 섹션에 포함된 레슨 — 64개 중 55번째.
챌린지
중급이 챌린지에서는 도서 관리 시스템(Library Management System)의 기초를 구현합니다.
library.py를 수정하여 TODO 주석에 따라 필요한 클래스를 구현하세요. 드라이버 파일에는 구현을 검증하는 광범위한 테스트 시나리오가 포함되어 있습니다.
- 단계별 안내를 위해
library.py의 TODO 주석을 따르세요. - 적절한 초기화와 문자열 표현을 갖춘
Library클래스를 구현하세요.
치트 시트
이 챌린지는 적절한 클래스 구조와 문자열 표현 메서드를 갖춘 도서 관리 시스템(Library Management System)을 구현하는 데 중점을 둡니다. 포괄적인 치트시트를 작성하기 위한 구체적인 강의 내용은 제공되지 않았습니다.
직접 해보기
# TODO: library.py에서 Library 클래스를 가져오세요
# 형식 사용: from library import Library
# 종합 테스트 케이스 처리기
test_case = input()
if test_case == "basic_library_creation":
# TODO: 이름이 "Test Library"인 라이브러리를 생성하세요
# TODO: 라이브러리 객체를 출력하세요 (이것은 __str__ 메서드를 호출합니다)
pass
elif test_case == "library_attributes":
# TODO: 이름이 "Test Library"인 라이브러리를 생성하세요
# TODO: 라이브러리의 name 속성을 다음 형식으로 출력하세요: Name: Test Library
# TODO: books 리스트의 길이를 다음 형식으로 출력하세요: Books: 0
# TODO: users 리스트의 길이를 다음 형식으로 출력하세요: Users: 0
# 힌트: f-string을 사용하세요, 예: print(f"Name: {library.name}")
pass
elif test_case == "multiple_libraries":
# TODO: 이름이 "Library 1"과 "Library 2"인 두 개의 서로 다른 라이브러리를 생성하세요
# TODO: 두 라이브러리 객체를 모두 출력하세요
pass
elif test_case == "empty_name":
# TODO: 빈 문자열을 이름으로 하는 라이브러리를 생성하세요
# TODO: 라이브러리 객체를 출력하세요
pass
elif test_case == "special_characters":
# TODO: 이름이 "!@#$%^&*()"인 라이브러리를 생성하세요
# TODO: 라이브러리 객체를 출력하세요
pass
elif test_case == "very_long_name":
# TODO: 정확히 100개의 'A' 문자로 구성된 이름의 라이브러리를 생성하세요 ("A" * 100 사용)
# TODO: 라이브러리 객체를 출력하세요
pass
elif test_case == "add_books_users":
# TODO: 이름이 "Test Library"인 라이브러리를 생성하세요
# TODO: books 리스트에 다음 항목들을 추가하세요: ["Book1", "Book2", "Book3"]
# TODO: users 리스트에 다음 항목들을 추가하세요: ["User1", "User2"]
# TODO: 라이브러리 객체를 출력하세요 (업데이트된 개수가 표시되어야 함)
pass
elif test_case == "empty_lists":
# TODO: 이름이 "Test Library"인 라이브러리를 생성하세요
# TODO: books 리스트의 길이를 다음 형식으로 출력하세요: Books length: 0
# TODO: users 리스트의 길이를 다음 형식으로 출력하세요: Users length: 0
# 힌트: f-string을 사용하세요, 예: print(f"Books length: {len(library.books)}")
pass
elif test_case == "type_validation":
# TODO: 정수 123을 이름으로 하는 라이브러리를 생성하세요
# TODO: 라이브러리 객체를 출력하세요 (문자열로 변환되어야 함)
pass