{ "cells": [ { "metadata": {}, "cell_type": "markdown", "source": [ "# Aufgabe 1\n", "## Aufgabenstellung\n", "Erstellen Sie die Klasse \"Song\" mit den Attributen string \"titel\", int \"dauer_sekunden\", string \"interpret\" und der Methode \"Spielen\", die auf der Konsole alle Informationen über den Song ausgibt (die Dauer dabei in Minuten:Sekunden -> 03:35)\n", "\n", "- Die Attribute sollen private sein mit öffentlichen Gettern als Eingeschaft\n", "- Über einen Konstruktor sollen die Attribute initialisiert werden." ], "id": "906e4e84eba33aab" }, { "cell_type": "code", "id": "initial_id", "metadata": { "collapsed": true }, "source": [ "class Song:\n", " def __init__(self, titel:str, dauer_sekunden:int, interpret:str, *args):\n", " self.__titel = titel\n", " self.__dauer_sekunden = dauer_sekunden\n", " self.__interpret = interpret\n", " super().__init__(*args)\n", "\n", " @property\n", " def titel(self) -> str:\n", " return self.__titel\n", "\n", " @property\n", " def dauer_sekunden(self) -> int:\n", " return self.__dauer_sekunden\n", "\n", " @property\n", " def interpret(self) -> str:\n", " return self.__interpret\n", "\n", " def spielen(self) -> None:\n", " minuten = self.__dauer_sekunden // 60\n", " restsekunden = self.__dauer_sekunden % 60\n", "\n", " print(f\"{self.__titel} von {self.__interpret}, Dauer: {minuten:02d}:{restsekunden:02d} Minuten\")" ], "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": "Erstellen Sie in der Main einen Song und rufen Sie die Methode auf.", "id": "91a0f43537a3d9b4" }, { "metadata": {}, "cell_type": "code", "source": [ "song = Song(\"Hallo\", 125, \"Welt\")\n", "song.spielen()" ], "id": "648e48c76d987a94", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": [ "# Aufgabe 2\n", "## Aufgabenstellung\n", "Sie bauen einen Robot. Erstellen Sie die Klasse Robot mit folgenden Membern:\n", "\n", "- Integer \"battery_time\"\n", "- String \"task\"\n", "- Methode \"is_battery_time_low\":\n", " - gibt true zurück, wenn die Laufzeit kleiner 2 ist, sonst false.\n", "- Methode \"execute_task\":\n", " - gibt auf dem Bildschirm den Text des Attributs \"aufgabe\" aus, wenn \"is_battery_time_low\" false liefert und reduziert dann die battery_time um 1, sonst soll \"Ich muss aufgeladen werden.\" in der Konsole erscheinen." ], "id": "236fa9f5181f518d" }, { "metadata": { "ExecuteTime": { "end_time": "2026-07-21T09:54:35.008029800Z", "start_time": "2026-07-21T09:54:34.987799400Z" } }, "cell_type": "code", "source": [ "class Robot:\n", " def __init__(self, battery_time:int, task:str, *args):\n", " self.__battery_time = battery_time\n", " self.__task = task\n", " super().__init__(*args)\n", "\n", " def is_battery_time_low(self) -> bool:\n", " return self.__battery_time < 2\n", "\n", " def execute_task(self) -> None:\n", " if self.is_battery_time_low():\n", " print(\"Ich muss aufgeladen werden\")\n", " return\n", "\n", " print(self.__task)\n", " self.__battery_time -= 1" ], "id": "64c12bd54e52cf60", "outputs": [], "execution_count": 8 }, { "metadata": {}, "cell_type": "markdown", "source": [ "Erstellen Sie in der Main einen Roboter mit der Aufgabe \"Ich reiche Butter.\" und einer Batterielaufzeit von 5.\n", "\n", "Lassen Sie ihn fünfmal in einer Schleife Butter reichen." ], "id": "3f89c8f76710d139" }, { "metadata": { "ExecuteTime": { "end_time": "2026-07-21T09:54:36.623452900Z", "start_time": "2026-07-21T09:54:36.590947200Z" } }, "cell_type": "code", "source": [ "robot = Robot(5, \"Ich reiche Butter.\")\n", "for i in range(5):\n", " robot.execute_task()" ], "id": "c2217f3770898f37", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ich reiche Butter.\n", "Ich reiche Butter.\n", "Ich reiche Butter.\n", "Ich reiche Butter.\n", "Ich muss aufgeladen werden\n" ] } ], "execution_count": 9 } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 5 }