diff --git a/exercicios/para-casa/Projeto Guiado II/Book.ipynb b/exercicios/para-casa/Projeto Guiado II/Book.ipynb
new file mode 100644
index 0000000..7766ee3
--- /dev/null
+++ b/exercicios/para-casa/Projeto Guiado II/Book.ipynb
@@ -0,0 +1,33 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "kWQndQRb5jbw"
+ },
+ "outputs": [],
+ "source": [
+ "class Book:\n",
+ " def __init__(self, name, author):\n",
+ " self.name = name\n",
+ " self.author = author\n",
+ " self.book.borrowed = False"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/exercicios/para-casa/Projeto Guiado II/Library.ipynb b/exercicios/para-casa/Projeto Guiado II/Library.ipynb
new file mode 100644
index 0000000..5e1b486
--- /dev/null
+++ b/exercicios/para-casa/Projeto Guiado II/Library.ipynb
@@ -0,0 +1,66 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "2EETCSQKJjhu"
+ },
+ "outputs": [],
+ "source": [
+ "from Book import Book\n",
+ "\n",
+ "class Library:\n",
+ " def __init__(self):\n",
+ " self.books = []\n",
+ "\n",
+ " def add_book(self, book: Book):\n",
+ " if (not isinstance(book, Book)):\n",
+ " raise TypeError(f\"Expected Book, received value {book} of type {type(book)}\")\n",
+ " self.books.append(book)\n",
+ "\n",
+ " def show_books(self):\n",
+ " return self.books\n",
+ "\n",
+ " def borrow_book(self, title):\n",
+ " for book in self.books:\n",
+ " if book.name == title and not book.borrowed:\n",
+ " book.borrowed = True\n",
+ "\n",
+ " def remove_book(self, title):\n",
+ " for book in self.books:\n",
+ " if book.name == title:\n",
+ " self.books.remove(book)\n",
+ "\n",
+ " def find_book(self, title):\n",
+ " message = \"Book not found.\"\n",
+ " for book in self.books:\n",
+ " if book.name == title:\n",
+ " message = book\n",
+ " return message\n",
+ "\n",
+ " def return_livro(self, title):\n",
+ " message = \"Book not found.\"\n",
+ " for book in self.books:\n",
+ " if book.name == title:\n",
+ " book.borrowed = False\n",
+ " message = f\"Book returned: {book}\"\n",
+ " return message"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/exercicios/para-casa/Projeto Guiado II/LibraryTest.ipynb b/exercicios/para-casa/Projeto Guiado II/LibraryTest.ipynb
new file mode 100644
index 0000000..4f257c9
--- /dev/null
+++ b/exercicios/para-casa/Projeto Guiado II/LibraryTest.ipynb
@@ -0,0 +1,105 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "P7SHX3hl2znl"
+ },
+ "outputs": [],
+ "source": [
+ "from unittest import TestCase\n",
+ "from Library import Library\n",
+ "from Book import Book\n",
+ "\n",
+ "class TestLibrary(TestCase):\n",
+ " def setUp(self):\n",
+ " self.library = Library()\n",
+ " self.book1 = Book(\"Siddhartha\", \"Hermann Hesse\")\n",
+ " self.book2 = Book(\"The Desert of the Tartars\", \"Dino Buzzati\")\n",
+ "\n",
+ " def test_init_should_pass(self):\n",
+ " self.assertIsInstance(self.library.books, list)\n",
+ "\n",
+ " def test_add_book_should_pass(self):\n",
+ " book_name = \"Cosmos\"\n",
+ " book_author = \"Carl Sagan\"\n",
+ " book = Book(book_name, book_author)\n",
+ "\n",
+ " self.library.add_book(book)\n",
+ "\n",
+ " self.assertEqual(1, len(self.library.books))\n",
+ "\n",
+ " def test_add_book_should_not_insert_number(self):\n",
+ " book = 1980\n",
+ "\n",
+ " with self.assertRaises(TypeError):\n",
+ " self.library.add_book(book)\n",
+ "\n",
+ " def test_show_books(self):\n",
+ " self.library.add_book(self.book1)\n",
+ " self.library.add_book(self.book2)\n",
+ " library_list = [self.book1, self.book2]\n",
+ "\n",
+ " self.assertEqual(self.library.show_books(), library_list)\n",
+ "\n",
+ " def test_borrow_books(self):\n",
+ " self.library.add_book(self.book1)\n",
+ " self.library.add_book(self.book2)\n",
+ "\n",
+ " self.library.book_borrowed(\"Siddhartha\")\n",
+ " self.library.book_borrowed(\"The Desert of the Tartars\")\n",
+ "\n",
+ " self.assertTrue(self.book1.book_borrowed)\n",
+ " self.assertTrue(self.book2.book_borrowed)\n",
+ "\n",
+ " def test_remove_book(self):\n",
+ " self.library.add_book(self.book1)\n",
+ " self.library.add_book(self.book2)\n",
+ "\n",
+ " self.library.remove_book(\"Siddhartha\")\n",
+ "\n",
+ " self.assertIsNot(self.library.books, self.book1)\n",
+ "\n",
+ " def test_search_existing_book(self):\n",
+ " self.library.add_book(self.book1)\n",
+ " self.library.add_book(self.book2)\n",
+ "\n",
+ " search_book = self.library.search_book(\"Siddhartha\")\n",
+ "\n",
+ " self.assertEqual(search_book, self.book1)\n",
+ "\n",
+ " def test_search_nonexistent_book(self):\n",
+ " self.library.add_book(self.book1)\n",
+ "\n",
+ " search_book = self.library.search_book(\"The Desert of the Tartars\")\n",
+ "\n",
+ " self.assertEqual(search_book, \"Book not found.\")\n",
+ "\n",
+ " def test_return_book(self):\n",
+ " self.library.add_book(self.book1)\n",
+ " self.library.add_book(self.book2)\n",
+ " self.library.book_borrowed(\"Siddhartha\")\n",
+ " self.library.book_borrowed(\"The Desert of the Tartars\")\n",
+ "\n",
+ " self.library.return_book(\"The Desert of the Tartars\")\n",
+ "\n",
+ " self.assertFalse(self.book2.book_borrowed)\n"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/exercicios/para-casa/Projeto Guiado II/TestBook.ipynb b/exercicios/para-casa/Projeto Guiado II/TestBook.ipynb
new file mode 100644
index 0000000..75cfee2
--- /dev/null
+++ b/exercicios/para-casa/Projeto Guiado II/TestBook.ipynb
@@ -0,0 +1,54 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "code",
+ "source": [],
+ "metadata": {
+ "id": "HZ0ol3P2Hkxp"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "sU0taxfw9Ory"
+ },
+ "outputs": [],
+ "source": [
+ "from unittest import TestCase\n",
+ "from Library import Library\n",
+ "\n",
+ "\n",
+ "class testBook(TestCase):\n",
+ " def test_init_pass(self):\n",
+ "\n",
+ " name = 'Siddhartha'\n",
+ " author = 'Hermann Hesse'\n",
+ "\n",
+ "\n",
+ " book = Book(name, author)\n",
+ "\n",
+ "\n",
+ " self.assertEqual(name, book.name)\n",
+ " self.assertEqual(author, book.author)\n",
+ " self.assertEqual(False, book.borrowed)"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/exercicios/para-casa/README.md b/exercicios/para-casa/README.md
deleted file mode 100644
index 7fe0dc6..0000000
--- a/exercicios/para-casa/README.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Exercício de Casa 🏠
-
-## Criar método remove_book
-Critérios de aceitação:
-- O método deve ter ao menos 1 (um) teste associado
-- O método deve receber como parâmetro o nome do livro e remover da propriedade Books
-- O método deve remover apenas 1 (um) livro por vez
-- Caso o livro não seja encontrado o método não deve dar erro ou exceções
-- Apenas livros não emprestados podem ser removidos (opcional)
-
-## Criar método search_book
-Critérios de aceitação:
-- O método deve ter ao menos 1 (um) teste associado
-- O método deve receber como parâmetro o nome do livro a ser buscado e retornar o nome do livro, autor e informação se livro está disponível ou emprestado
-- Caso o livro não seja encontrado o método deve retornar a mensagem "Livro não encontrado"
-
-## Criar método return_book
-Critérios de aceitação:
-- O método deve ter ao menos 1 (um) teste associado
-- O método deve receber como parâmetro o nome do livro a ser devolvido e mudar o status do livro para não emprestado na propriedade Books
-- Caso o livro não seja encontrado o método deve apenas exibir a mensagem "Livro não encontrado"
-
----
-
-Terminou o exercício? Dá uma olhada nessa checklist e confere se tá tudo certinho, combinado?!
-
-- [ ] Fiz o fork do repositório.
-- [ ] Clonei o fork na minha máquina (`git clone url-do-meu-fork`).
-- [ ] Resolvi o exercício.
-- [ ] Adicionei as mudanças. (`git add .` para adicionar todos os arquivos, ou `git add nome_do_arquivo` para adicionar um arquivo específico)
-- [ ] Commitei a cada mudança significativa ou na finalização do exercício (`git commit -m "Mensagem do commit"`)
-- [ ] Pushei os commits na minha branch (`git push origin nome-da-branch`)
-- [ ] Criei um Pull Request seguindo as orientaçoes que estao nesse [documento](https://github.com/reprograma/on26-python-s08-projeto-guiado-II/blob/main/exercicios/para-casa/instrucoes-pull-request.md).
diff --git a/exercicios/para-casa/instrucoes-pull-request.md b/exercicios/para-casa/instrucoes-pull-request.md
deleted file mode 100644
index f3d096b..0000000
--- a/exercicios/para-casa/instrucoes-pull-request.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Como criar meu Pull Request? 🤔
-
-Olá, meninas!
-O checklist da atividade ta todo preenchido? Entao agora tá na hora de fazer nosso pull request para o repositório original.
-Você deverá navegar até o seu repositório onde você fez o fork e pressionar o botão “New pull request” no lado esquerdo da página.
-
-
-Você poderá modificar a branch na próxima tela.
-
-Depois de ter escolhido a branch main do repositório original no lado esquerdo, e a nova-branch do seu fork do lado direito, você deve ver uma tela assim:
-
-
-
-O GitHub vai lhe alertar de que é possível mesclar as duas branches porque não há código concorrente. Você deve adicionar um título, e um comentário descrevendo o seu PR.
-DICAS:
-1. Você pode seguir esse modelo para o título do seu PR:
-```
-Nome da Atividade - Seu nome.
-```
-2. Você pode seguir esse modelo para a descrição do seu PR:
-```
-O que?
-Resolução dos exercícios de lógica.
-
-Como?
-* Adicionei um arquivo para resolver a atividade 1 utilizando os métodos slice e split;
-* Adicionei casos de testes unitários para cada um dos exercícios utilizando jest;
-* Outro ponto que você queira adicionar.
-```
-Feito isso, é so clicar em “Create pull request”.
-Tcharaaaannn! Agora é só esperar a prof revisar seu PR 💜