{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 1. Fill the missing pieces of the `Calculator` class\n", "Fill `____` pieces of the `Calculator` implemention in order to pass the assertions." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class Calculator:\n", " def __init__(self, var1, ____):\n", " self.____ = var1\n", " self.____ = _____\n", "\n", " def calculate_power(self):\n", " return self.____**____.____\n", "\n", " def calculate_sum(____, var3):\n", " return ____.____ + ____.____ + var3" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "editable": false }, "outputs": [], "source": [ "calc = Calculator(2, 3)\n", "assert calc.calculate_power() == 8\n", "assert calc.calculate_sum(4) == 9" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 2. Finalize `StringManipulator` class\n", "Fill `____` pieces and create implementation for `stripped_title()`." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class StringManipulator:\n", " \"\"\"____\"\"\"\n", " \n", " category = ____\n", " \n", " def __init__(self, original):\n", " self.string = ____\n", " \n", " def reverse_words(self):\n", " words = self.string.____\n", " self.string = ' '.join(reversed(____))\n", " \n", " def make_title(self):\n", " # Create implementation for this\n", " \n", " def get_manipulated(____):\n", " return self._____" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "editable": false }, "outputs": [], "source": [ "assert StringManipulator.__doc__ == \"Docstring of StringManipulator\"\n", "assert StringManipulator.category == \"Manipulator\"\n", "\n", "str_manip = StringManipulator(\"cOOL pyThON\")\n", "\n", "str_manip.reverse_words()\n", "assert str_manip.get_manipulated() == \"pyThON cOOL\"\n", "\n", "str_manip.make_title()\n", "assert str_manip.get_manipulated() == \"Python Cool\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3. Create `Dog` class\n", "Create `Dog` class which has the following specification:\n", "* Dogs consume their energy by barking and gain energy by sleeping\n", "* A fresh `Dog` instance has 10 units of energy\n", "* `Dog` has a method `sleep` which gives 2 units of energy\n", "* `Dog` has a method `bark` which consumes 1 unit of energy\n", "* `Dog` has a method `get_energy` which returns the amount of energy left " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class Dog:\n", " # Your implementation here" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "editable": false }, "outputs": [], "source": [ "doge = Dog()\n", "assert doge.get_energy() == 10\n", "\n", "doge.bark()\n", "doge.bark()\n", "doge.bark()\n", "assert doge.get_energy() == 7\n", "\n", "doge.sleep()\n", "assert doge.get_energy() == 9\n", "\n", "another_doge = Dog()\n", "assert another_doge.get_energy() == 10" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.0" } }, "nbformat": 4, "nbformat_minor": 2 }