{ "cells": [ { "metadata": { "collapsed": true }, "cell_type": "markdown", "source": [ "# Aufgabe 1\n", "## Aufgabenstellung\n", "Ein Online-Shop hat eine Liste mit Produktpreisen.\n", "\n", "Beispiel: preise = [20, 55, 80, 30, 120]\n", "\n", "Produkte über 50 EUR erhalten 10% Rabatt.\n", "\n", "Schreiben Sie ein Programm, das mit Hilfe von Lamdba eine neue Liste mit reduzierten Preisen erstellt." ], "id": "897a5654dca6cca5" }, { "metadata": {}, "cell_type": "markdown", "source": [ "## Bearbeitung\n", "### Variante A" ], "id": "ee68cc8aef8a90e1" }, { "metadata": {}, "cell_type": "code", "source": [ "from datetime import date\n", "\n", "preise = [20, 55, 80, 30, 120]\n", "print(\"Originalpreis\")\n", "print(preise)\n", "\n", "berechne_reduzierten_preis = lambda x: x * 0.9 if x > 50 else x\n", "reduzierte_preise = list(map(berechne_reduzierten_preis, preise))\n", "\n", "print(\"Mit Rabatt\")\n", "print(reduzierte_preise)" ], "id": "7992fb80d80b9a9d", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": "### Variante B", "id": "79212ee1313a3dab" }, { "metadata": {}, "cell_type": "code", "source": [ "preise = [20, 55, 80, 30, 120]\n", "\n", "format_preis = lambda x: f'{x:.2f} EUR'\n", "\n", "print(\"Originalpreis\")\n", "print(list(map(format_preis, preise)))\n", "\n", "berechne_reduzierten_preis = lambda x: x * 0.9 if x > 50 else x\n", "reduzierte_preise = list(map(berechne_reduzierten_preis, preise))\n", "\n", "print(\"Mit Rabatt\")\n", "print(list(map(format_preis, reduzierte_preise)))" ], "id": "d0783086c8499ec", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": [ "# Aufgabe 2\n", "## Aufgabenstellung\n", "Schreibe ein Programm zur Verwaltung von Mitarbeitern.\n", "\n", "Jeder Mitarbeiter besitzt:\n", "- Name\n", "- Alter\n", "- Abteilung\n", "- Gehalt" ], "id": "35d95a33d0cfa30f" }, { "metadata": {}, "cell_type": "code", "source": [ "from datetime import date\n", "from dateutil.relativedelta import relativedelta" ], "id": "272c0dd3d94b644b", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "code", "source": [ "class Abteilung:\n", "\n", " def __init__(self, name:str, *args):\n", " self.__name = name\n", " super().__init__(*args)\n", "\n", " @property\n", " def name(self):\n", " return self.__name\n", "\n", " def __str__(self):\n", " return self.name" ], "id": "90d84c95ac6ed431", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "code", "source": [ "class Mitarbeiter:\n", "\n", " def __init__(self, name:str, geburtsdatum:date, abteilung:Abteilung, gehalt:float, *args):\n", " self.__name = name\n", " self.__geburtsdatum = geburtsdatum\n", " self.__abteilung = abteilung\n", " self.__gehalt = gehalt\n", " super().__init__(*args)\n", "\n", " @property\n", " def name(self):\n", " return self.__name\n", "\n", " @property\n", " def alter(self):\n", " return relativedelta(date.today(), self.__geburtsdatum).years\n", "\n", " @property\n", " def gehalt(self):\n", " return self.__gehalt\n", "\n", " @property\n", " def abteilung(self):\n", " return self.__abteilung\n", "\n", " def __str__(self):\n", " return f\"{self.name}, geboren {self.__geburtsdatum} ({self.alter} Jahre alt) arbeitet in {self.abteilung} und verdient {self.gehalt:.2f} EUR.\"" ], "id": "e75bd9332850f6fa", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": [ "\n", "Erstelle mindestens 6 Mitarbeiter und speichere sie in einer Liste." ], "id": "80f0590dbc1f3eea" }, { "metadata": {}, "cell_type": "code", "source": [ "it = Abteilung(\"IT-Abteilung\")\n", "personal = Abteilung(\"Personalabteilung\")\n", "vertrieb = Abteilung(\"Vertrieb\")\n", "\n", "mitarbeiter_list = [\n", " Mitarbeiter(\"Albert\", date(1970, 2, 22), personal, 1234.5),\n", " Mitarbeiter(\"Bert\", date(1980, 3, 11), it, 2345.6),\n", " Mitarbeiter(\"Camembert\", date(2008, 1, 15), it, 1234.5),\n", " Mitarbeiter(\"Dilbert\", date(2001, 2, 22), personal, 1234.5),\n", " Mitarbeiter(\"Elbert\", date(1999, 3, 11), it, 2345.6),\n", " Mitarbeiter(\"Filbert\", date(1968, 1, 15), it, 5234.5),\n", "]" ], "id": "f54a24a33da9ef37", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": [ "\n", "Das Programm soll anschließend:\n", "\n", "- Alle Mitarbeiter ausgeben." ], "id": "186cd3483d573698" }, { "metadata": {}, "cell_type": "code", "source": [ "for mitarbeiter in mitarbeiter_list:\n", " print(mitarbeiter)" ], "id": "888cea3bcb830aed", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": "- Alle Mitarbeiter anzeigen, die älter als 30 Jahre sind.", "id": "b29b20967f9c3ac7" }, { "metadata": {}, "cell_type": "code", "source": [ "mitarbeiter_ueber_30 = list(filter(lambda x: x.alter > 30, mitarbeiter_list))\n", "\n", "for mitarbeiter in mitarbeiter_ueber_30:\n", " print(mitarbeiter)" ], "id": "1a992cb2a3092ae5", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": "- Das durchschnittliche Gehalt berechnen.", "id": "aa7c0e7d3d25a806" }, { "metadata": {}, "cell_type": "code", "source": [ "summe_gehalt = sum(list(map(lambda x : x.gehalt, mitarbeiter_list)))\n", "durchschnitt_gehalt = summe_gehalt / len(mitarbeiter_list)\n", "\n", "print(durchschnitt_gehalt)" ], "id": "3d16715679dd9a23", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": "- Alle Mitarbeiter der IT-Abteilung ausgeben.", "id": "7a99b3570a2444a3" }, { "metadata": {}, "cell_type": "code", "source": [ "mitarbeiter_in_it = list(filter(lambda x: x.abteilung == it, mitarbeiter_list))\n", "\n", "for mitarbeiter in mitarbeiter_in_it:\n", " print(mitarbeiter)" ], "id": "bce2741c8f96e7eb", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": "- Die Namen aller Mitarbeiter in Großbuchstaben ausgeben.", "id": "51d3d88f26dc87fa" }, { "metadata": {}, "cell_type": "code", "source": [ "MITARBEITER_NAMEN = list(map(lambda x: x.name.upper(), mitarbeiter_list))\n", "\n", "print(MITARBEITER_NAMEN)" ], "id": "ceab8fc00992178", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": "- Alle Mitarbeiter ausgeben, deren Gehalt über 4000 € liegt.", "id": "2909d6f2185cd42c" }, { "metadata": {}, "cell_type": "code", "source": [ "mitarbeiter_gehalt_ueber_4000 = list(filter(lambda x:x.gehalt > 4000, mitarbeiter_list))\n", "\n", "for mitarbeiter in mitarbeiter_gehalt_ueber_4000:\n", " print(mitarbeiter)" ], "id": "c7653e3dd84adf1", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": [ "\n", "### Zusatzaufgabe\n", "Gib aus, welcher Mitarbeiter das höchste Gehalt besitzt." ], "id": "6c2a5da8a3ffbcea" }, { "metadata": {}, "cell_type": "code", "source": [ "mitarbeiter_max_gehalt = mitarbeiter_list[0]\n", "\n", "for mitarbeiter in mitarbeiter_list:\n", " if mitarbeiter_max_gehalt.gehalt < mitarbeiter.gehalt:\n", " mitarbeiter_max_gehalt = mitarbeiter\n", "\n", "print(mitarbeiter_max_gehalt)\n" ], "id": "faaf607cc0508e17", "outputs": [], "execution_count": null }, { "metadata": {}, "cell_type": "markdown", "source": "Alternative mit Lambda:", "id": "13dba464d7ddd6af" }, { "metadata": { "ExecuteTime": { "end_time": "2026-07-22T09:46:00.972621400Z", "start_time": "2026-07-22T09:46:00.935546200Z" } }, "cell_type": "code", "source": [ "mitarbeiter_max_gehalt = max(mitarbeiter_list, key= lambda x: x.gehalt)\n", "print(mitarbeiter_max_gehalt)" ], "id": "1946de57dee64b91", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Filbert, geboren 1968-01-15 (58 Jahre alt) arbeitet in IT-Abteilung und verdient 5234.50 EUR.\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 }