Skip to content
Snippets Groups Projects
hausaufgabe4.ipynb 6.92 KiB
Newer Older
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4. Hausaufgabe\n",
    "\n",
    "Geben Sie diese Hausaufgabe gemeinsam mit Ihrem/r Partner/in ab. Füllen Sie dazu dieses Notebook aus und speichern Sie es ab (Disketten-Icon oben links). Laden Sie dann die Datei (`hausaufgabe4.ipynb`) in Moodle hoch. Verwenden Sie Kommentare im Python-Quellcode und Markdown-Textboxen im Jupyter-Notebook ([Syntax-Beispiele](https://de.wikipedia.org/wiki/Markdown#Auszeichnungsbeispiele)) um ihr Programm zu kommentieren. Für diese Hausaufgabe sollten Sie alles bis zum 10. Kapitel durchgearbeitet haben, da Iteration, Rekursion, Verzweigungen und Funktionen mit Rückgabewert benötigt werden.\n",
    "\n",
    "\n",
    "- Geben Sie bitte Ihrem Notebook einen Namen, sodass es Ihnen und Ihrem Partner zugeordnet werden kann (z.B. nachname1_nachname2_hausaufgabe2.ipynb)\n",
    "- Fügen Sie außerdem Kommentare / Docstrings zu jedem Code hinzu, mit denen Sie erklären, was die Funktion macht (Schleife, Bedingungen, etc. beschreiben). **Falls das nicht gemacht wird, wird der Code nicht bewertet.**\n",
    "- Falls es **Musterlösungen in den Übungen** gibt, können Sie gerne diese Code übernehmen (eigener Code ist natürlich schöner). Falls Sie das machen, muss aber durch ihre Kommentare hervorgehen, dass Sie den Code verstanden haben.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "Wir wünschen viel Erfolg beim Lösen der Aufgaben!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Aufgabe 1\n",
    "\n",
schwabmi's avatar
schwabmi committed
    "Implementieren Sie die folgenden Funktionen und rufen Sie ihre Funktionen mit verschiedenen Argumenten auf, um sie auf Funktionalität zu testen.\n",
    "\n",
schwabmi's avatar
schwabmi committed
    "### 1a\n",
    "\n",
    "Schreiben Sie eine Funktion, die als Parameter eine Zeichenkette erwartet und prüft, ob das erste Zeichen der Zeichenkette ein Kleinbuchstaben ist. Die Funktion soll einen Wahrheitswert zurückgeben."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
schwabmi's avatar
schwabmi committed
    "def is_lower_first_char(s):\n",
    "    pass\n",
    "\n",
    "\n",
schwabmi's avatar
schwabmi committed
    "is_lower_first_char(\"Test\")\n",
    "is_lower_first_char(\"test\")\n",
    "is_lower_first_char(\"tEST\")\n",
    "is_lower_first_char(\"TESt\")\n",
    "is_lower_first_char(\"TesT\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
schwabmi's avatar
schwabmi committed
    " ### 1b\n",
    " \n",
    "Schreiben Sie eine Funktion, die als Parameter eine Zeichenkette erwartet und prüft, ob das erste **oder** das letzte Zeichen Kleinbuchstaben sind. Die Funktion soll einen Wahrheitswert zurückgeben."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
schwabmi's avatar
schwabmi committed
    "def is_lower_first_last_char(s):\n",
    "    pass\n",
    "\n",
    "\n",
schwabmi's avatar
schwabmi committed
    "is_lower_first_last_char(\"Test\")\n",
    "is_lower_first_last_char(\"test\")\n",
    "is_lower_first_last_char(\"tEST\")\n",
    "is_lower_first_last_char(\"TESt\")\n",
    "is_lower_first_last_char(\"TesT\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
schwabmi's avatar
schwabmi committed
    "### 1c \n",
    "Schreiben Sie eine Funktion, die als Parameter eine Zeichenkette erwartet und prüft, ob **alle** Zeichen der Zeichenkette Ziffern (0,...,9) sind. Die Funktion soll einen Wahrheitswert zurückgeben."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
schwabmi's avatar
schwabmi committed
    "def is_number(s):\n",
    "    pass\n",
    "\n",
    "\n",
    "is_number(\"9847\")\n",
    "is_number(\"9.312\")\n",
    "is_number(\"T238ws\")\n",
    "is_number(\"+4917600011100\")\n",
    "is_number(\"0049176-00011100\")\n",
    "is_number(\"004917600011100\")"
schwabmi's avatar
schwabmi committed
   "cell_type": "markdown",
   "metadata": {},
   "source": [
schwabmi's avatar
schwabmi committed
    " ### 1d\n",
    "Schreiben Sie jeweils eine Funktion, die als Parameter eine Zeichenkette erwartet und alle Ziffern innerhalb einer Zeichenkette ausgibt."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
schwabmi's avatar
schwabmi committed
    "def return_digits(s):\n",
    "    pass\n",
    "\n",
    "\n",
    "return_digits(\"123123\")\n",
    "return_digits(\"9847\")\n",
    "return_digits(\"9.312\")\n",
    "return_digits(\"T238ws\")\n",
    "return_digits(\"Die Hausaufgabenabgabe ist am 13.Februar 2022.\")\n",
    "return_digits(\"Und zwar vor 00:00.\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
schwabmi's avatar
schwabmi committed
    "### 1e\n",
    "Schreiben Sie eine Funktion, die als Parameter zwei Zeichenketten `s` und `w` erwartet und **alle** Vorkommen von `w` innerhalb von `s` zählt. Hierbei soll Groß-/Kleinschreibung ignoriert werden.\n",
    "\n",
schwabmi's avatar
schwabmi committed
    "Hinweis: Falls das Wort *USA* gefunden werden soll, sollen auch *usa, Usa, uSa*, usw. gefunden werden."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
schwabmi's avatar
schwabmi committed
    "def count_occ(s, w):\n",
    "    pass\n",
    "\n",
    "\n",
    "count_occ(\"Yippie yippie Yeah YiPPIE Yeah, Krawall und Remmi Demmi! Yippi YIPI Yeah YIPPIE Yeah, Krawall und Remmi Demmi!\", \"yippie\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
schwabmi's avatar
schwabmi committed
    "## Aufgabe 2\n",
    "\n",
schwabmi's avatar
schwabmi committed
    "Schreiben Sie eine Funktion, die eine Zeichenkette als Parameter erwartet und die Zeichenkette folgendermaßen ändert.Nutzen Sie dafür **nur** [eingebauten Methoden (\"built-in methods\")](https://docs.python.org/3/library/stdtypes.html#string-methods), für jeden Task eine neue.\n",
    "\n",
schwabmi's avatar
schwabmi committed
    "- Alle Leerzeichen am Anfang und Ende der Zeichenkette sollen gelöscht werden\n",
    "- Alle Minus-Zeichen (\"-\") sollen durch Unterstriche (\"_\") ersetzt werden  \n",
    "- Der gesamte Text soll nur noch aus Kleinbuchstaben bestehen"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
schwabmi's avatar
schwabmi committed
    "def process_text(s):\n",
    "    pass\n",
    "\n",
schwabmi's avatar
schwabmi committed
    "process_text(\"       The function Return-Digits(S) returns all digits of a string. BELIEVE ME.  ...    \")"
Michel Schwab's avatar
Michel Schwab committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
schwabmi's avatar
schwabmi committed
    "## Aufgabe 3\n",
schwabmi's avatar
schwabmi committed
    "Schreiben Sie eine Funktion, die als Parameter zwei Listen `l` und `d` erwartet und **alle** Elemente aus der Liste `l`, die auch in `d` vorkommen, löscht. Die Rückgabe soll die modifizierte Liste `l` sein.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
schwabmi's avatar
schwabmi committed
    "def del_elements(l, d):\n",
    "    pass\n",
schwabmi's avatar
schwabmi committed
    "del_elements([1,3,5,7,9,11,13,15,17,19,21,23,25,27,29], [9,15,21,25])"
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![Smiley](https://upload.wikimedia.org/wikipedia/commons/0/0f/Face-glasses.svg)"
   ]
  }
 ],
 "metadata": {
  "language_info": {
   "name": "python",
   "pygments_lexer": "ipython3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}