Menu
Coddy logo textTech

Visão Geral do Projeto

Parte da seção Object Oriented Programming do Journey de Python da Coddy — lição 55 de 64.

challenge icon

Desafio

Médio

Neste desafio, você implementará a base para um Sistema de Gerenciamento de Biblioteca.

Edite library.py para implementar as classes necessárias seguindo os comentários TODO. O arquivo driver contém cenários de teste extensivos que validam sua implementação.

  • Siga os comentários TODO em library.py para orientação passo a passo
  • Implemente a classe Library com a inicialização e representação de string adequadas

Folha de consulta

O desafio foca na implementação de um Sistema de Gerenciamento de Biblioteca com uma estrutura de classe adequada e métodos de representação de string. Nenhum conteúdo de lição específico foi fornecido para criar uma folha de dicas abrangente.

Experimente você mesmo

# TODO: Importar a classe Library de library.py
# Use o formato: from library import Library

# Manipulador abrangente de casos de teste
test_case = input()

if test_case == "basic_library_creation":
    # TODO: Criar uma biblioteca com o nome "Test Library"
    # TODO: Imprimir o objeto da biblioteca (isso chamará o método __str__)
    pass
    
elif test_case == "library_attributes":
    # TODO: Criar uma biblioteca com o nome "Test Library"
    # TODO: Imprimir o atributo name da biblioteca no formato: Name: Test Library
    # TODO: Imprimir o comprimento da lista books no formato: Books: 0
    # TODO: Imprimir o comprimento da lista users no formato: Users: 0
    # Dica: Use f-strings, ex: print(f"Name: {library.name}")
    pass

elif test_case == "multiple_libraries":
    # TODO: Criar duas bibliotecas diferentes com os nomes "Library 1" e "Library 2"
    # TODO: Imprimir ambos os objetos da biblioteca
    pass

elif test_case == "empty_name":
    # TODO: Criar uma biblioteca com uma string vazia como nome
    # TODO: Imprimir o objeto da biblioteca
    pass

elif test_case == "special_characters":
    # TODO: Criar uma biblioteca com o nome "!@#$%^&*()"
    # TODO: Imprimir o objeto da biblioteca
    pass

elif test_case == "very_long_name":
    # TODO: Criar uma biblioteca com um nome de exatamente 100 caracteres 'A' (use "A" * 100)
    # TODO: Imprimir o objeto da biblioteca
    pass

elif test_case == "add_books_users":
    # TODO: Criar uma biblioteca com o nome "Test Library"
    # TODO: Adicionar estes itens à lista books: ["Book1", "Book2", "Book3"]
    # TODO: Adicionar estes itens à lista users: ["User1", "User2"]
    # TODO: Imprimir o objeto da biblioteca (deve mostrar as contagens atualizadas)
    pass

elif test_case == "empty_lists":
    # TODO: Criar uma biblioteca com o nome "Test Library"
    # TODO: Imprimir o comprimento da lista books no formato: Books length: 0
    # TODO: Imprimir o comprimento da lista users no formato: Users length: 0
    # Dica: Use f-strings, ex: print(f"Books length: {len(library.books)}")
    pass

elif test_case == "type_validation":
    # TODO: Criar uma biblioteca com o inteiro 123 como nome
    # TODO: Imprimir o objeto da biblioteca (deve converter para string)
    pass

Todas as lições de Object Oriented Programming