Files
wbs-python/grundlagen/aufgaben_tag2.ipynb
T
2026-07-21 12:01:43 +02:00

177 lines
4.9 KiB
Plaintext

{
"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
}