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",
"Implementieren Sie die folgenden Funktionen und rufen Sie ihre Funktionen mit verschiedenen Argumenten auf, um sie auf Funktionalität zu testen.\n",
"### 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": [
"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": [
" ### 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": [
"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": [
"### 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": [
"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\")"
" ### 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": [
"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": [
"### 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",
"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": [
"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": [
"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",
"- 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": [
"process_text(\" The function Return-Digits(S) returns all digits of a string. BELIEVE ME. ... \")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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": [
"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": [
""
]
}
],
"metadata": {
"language_info": {
"name": "python",
"pygments_lexer": "ipython3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}