From b648b70521e559c94d9383696b6f16f1a1f9aa38 Mon Sep 17 00:00:00 2001 From: paulusja Date: Thu, 21 May 2026 17:16:48 +0200 Subject: [PATCH] Add first solution for oop. --- uebungen.ipynb | 76 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 2 deletions(-) diff --git a/uebungen.ipynb b/uebungen.ipynb index 2229c00..528143e 100644 --- a/uebungen.ipynb +++ b/uebungen.ipynb @@ -1559,7 +1559,65 @@ "metadata": {}, "outputs": [], "source": [ - "# Fügen Sie hier Ihre Klassendefinition für ZeichenZaehler ein." + "# Fügen Sie hier Ihre Klassendefinition für ZeichenZaehler ein.\n", + "\n", + "class ZeichenZaehler:\n", + " def __init__(self, zeichen):\n", + " self.__zeichen = set(zeichen.lower())\n", + " self.__stand = 0\n", + "\n", + " def zaehle(self, string):\n", + " if type(string) == str:\n", + " for zeichen in self.__zeichen:\n", + " self.__stand += string.lower().count(zeichen)\n", + " return True\n", + " else:\n", + " return False\n", + "\n", + " def zaehler_stand(self):\n", + " return self.__stand\n", + "\n", + " def setze_zurueck(self):\n", + " self.__stand = 0\n", + "\n", + "\n", + "def zeichenZaehler_zaehlt_korrekt():\n", + " zaehler = ZeichenZaehler('ai')\n", + " zaehler.zaehle('aannii')\n", + " assert(zaehler.zaehler_stand() == 4)\n", + "\n", + "def zeichenZaehler_akkumuliert_stand():\n", + " zaehler = ZeichenZaehler('ai')\n", + " zaehler.zaehle('aannii')\n", + " zaehler.zaehle('aaanniii')\n", + " assert(zaehler.zaehler_stand() == 10)\n", + "\n", + "def zeichenZaehler_ignoriert_grossklein():\n", + " zaehler = ZeichenZaehler('Ai')\n", + " zaehler.zaehle('aannII')\n", + " assert(zaehler.zaehler_stand() == 4)\n", + "\n", + "def zeichenZaehler_setzt_zaehler_zurueck():\n", + " zaehler = ZeichenZaehler('ai')\n", + " zaehler.zaehle('aannii')\n", + " zaehler.setze_zurueck()\n", + " zaehler.zaehle('aaanniii')\n", + " assert(zaehler.zaehler_stand() == 6)\n", + "\n", + "def zeichenZaehler_zaehle_liefert_true_bei_string():\n", + " zaehler = ZeichenZaehler('ai')\n", + " assert(zaehler.zaehle('aannii') == True)\n", + " assert(zaehler.zaehle(123) == False)\n", + "\n", + "def teste():\n", + " zeichenZaehler_zaehlt_korrekt()\n", + " zeichenZaehler_akkumuliert_stand()\n", + " zeichenZaehler_ignoriert_grossklein()\n", + " zeichenZaehler_setzt_zaehler_zurueck()\n", + " zeichenZaehler_zaehle_liefert_true_bei_string()\n", + "\n", + "\n", + "teste()" ] }, { @@ -1599,7 +1657,21 @@ "metadata": {}, "outputs": [], "source": [ - "# Fügen Sie hier Ihren Code ein." + "# Fügen Sie hier Ihren Code ein.\n", + "\n", + "zaehler = ZeichenZaehler('aieou')\n", + "\n", + "eingabe = input('Geben Sie einen Text ein: ')\n", + "\n", + "while(len(eingabe) > 0):\n", + " if eingabe.isdecimal() and int(eingabe) == 0:\n", + " zaehler.setze_zurueck()\n", + " else:\n", + " zaehler.zaehle(eingabe)\n", + " print(f'Es war(en) {zaehler.zaehler_stand()} Vokal(e) in Ihren Eingaben.')\n", + "\n", + " eingabe = input('Geben Sie einen Text ein: ')\n", + " " ] }, {