{ "cells": [ { "cell_type": "markdown", "id": "6c8d4038", "metadata": {}, "source": [ "# Vorkurs Tag 3 - Aufgaben\n", "\n", "Author: Janina Nehring\n", "\n", "_Hinweis_: Der Schwierigkeitsgrad der Aufgaben wird durch die Anzahl an 😈-Smileys dargestellt." ] }, { "cell_type": "markdown", "id": "d367075d", "metadata": {}, "source": [ "## Aufgabe 3.1\n", "Schwierigkeit: 😈\n", "\n", "Schreibe ein Programm, welches 25 mal \"Hello World\" ausgibt" ] }, { "cell_type": "code", "execution_count": null, "id": "74996f64", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "78295f75", "metadata": {}, "source": [ "## Aufgabe 3.2\n", "\n", "Schwierigkeit: 😈\n", "\n", "Schreibe ein Programm, das `10 9 8 7 6 5 4 3 2 1 0 Bumm 0 1 2 3 4 5 6 7 8 9 10` ausgibt. \n", "\n", "Verwende dazu 2 Schleifen, Lists werden nicht benötigt." ] }, { "cell_type": "code", "execution_count": null, "id": "1df37b8e", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "99a7fbca", "metadata": {}, "source": [ "## Aufgabe 3.3\n", "\n", "Schwierigkeit: 😈😈\n", "\n", "Schreibe ein Programm, welches die ersten 15 ungeraden Zahlen ausgibt." ] }, { "cell_type": "code", "execution_count": null, "id": "959e246e", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "1bc2c656", "metadata": {}, "source": [ "## Aufgabe 3.4\n", "\n", "#### Aufgabe 3.4.1\n", "Schwierigkeit: 😈\n", "\n", "Zwei Studis, Bob und Alice, haben erfolgreich einige Klausuren bestanden. Alice hat ihre Noten zur besseren Übersicht in eine Liste geschrieben. \n", "Bob möchte es ihr nun gleich tun, weiß aber nicht wie er eine Liste erstellen soll. Könnt ihr ihm helfen? \n", "\n", "Bobs Noten sind wie folgt: In Datenbanken hatte er eine 2.0, in Informatik 1 eine 3.3, in Analysis eine 1.3 und in Englisch eine 1.0. Die Reihenfolge der Noten ist dabei nicht wichtig. \n", "\n", "Gebt die Liste danach aus. " ] }, { "cell_type": "code", "execution_count": null, "id": "d05b3da7", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "9173af57", "metadata": {}, "source": [ "#### Aufgabe 3.4.2\n", "Schwierigkeit: 😈\n", "\n", "In der Informatik 1-Einsicht hat sich herausgestellt, dass der Professor vergessen hat eine gesamte Aufgabe bei Bob zu werten. Seine Note verbessert sich dadurch auf eine 2.3. Natürlich muss das jetzt in seiner Liste geändert werden. \n", "\n", "Könnt ihr das für ihn übernehmen? " ] }, { "cell_type": "code", "execution_count": null, "id": "0c725fa5", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "a3893725", "metadata": {}, "source": [ "#### Aufgabe 3.4.3\n", "Schwierigkeit: 😈\n", "\n", "Bob hat noch zwei weitere Klausuren bestanden. In Statistik hat er eine 3.0 bekommen und in Wirtschaft eine 1.7. Fügt diese Noten in seine Liste ein und gebt die erweiterte Liste danach aus." ] }, { "cell_type": "code", "execution_count": null, "id": "2600182d", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "e3da572d", "metadata": {}, "source": [ "#### Aufgabe 3.4.4\n", "Schwierigkeit: 😈😈\n", "\n", "Alice und Bob möchten jetzt ihren Durchschnitt vergleichen. Errechnet für beide den Durchschnitt und gebt den besseren Durchschnitt aus. Nutzt dafür Schleifen.\n", "\n", "Eine Liste mit Alice Noten findet ihr unten:" ] }, { "cell_type": "code", "execution_count": null, "id": "d136f906", "metadata": {}, "outputs": [], "source": [ "alice_noten = [1.0, 1.3, 2.7, 2.0]" ] }, { "cell_type": "markdown", "id": "9f1309c7", "metadata": {}, "source": [ "## Aufgabe 3.5\n", "\n", "Schwierigkeit: 😈😈\n", "\n", "Schreibe ein Programm, das ausgibt, wie viele Tage ein Monat hat. Erstelle dazu ein Dictionary, welche die Monatsnamen enthält, sowie die Anzahl der Tage in den jeweiligen Monaten. Schaltjahre sollen hier außer Acht gelassen werden.\n", "\n", "```python \n", " anzahl_tage = {‘Januar’: 31, ......}\n", "```\n", "Mit Hilfe einer Schleife soll jetzt für jeden Monat ausgegeben werden, wie viele Tage dieser hat. Für den Monat Februar soll also z.B. „Der Monat Februar hat 28 Tage.“ ausgegeben werden.\n", "\n", "Tipp: Benutzt für die Ausgabe F-Strings: \n", "```python\n", "name = \"Felix\"\n", "print(f\"Mein Name ist {name}\")\n", "\n", ">>>Mein Name ist Felix\n", "```" ] }, { "cell_type": "code", "execution_count": null, "id": "41d0d30d", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "c5190734", "metadata": {}, "source": [ "## Aufgabe 3.6\n", "Schwierigkeit: 😈😈\n", "\n", "Die Zahlenfolge 1, 1, 2, 3, 5, 8, 13, . . . nennt man Fibonacci-Zahlen. Dabei entspricht jede Zahl in der Folge gerade der Summe ihrer beiden Vorgänger: 1+1 = 2, 1 + 2 = 3, 2 + 3 = 5, 3 + 5 = 8, . . . Schreibe eine Schleife, die alle Fibonacci-Zahlen ausgibt, die kleiner als 1000 sind." ] }, { "cell_type": "code", "execution_count": null, "id": "2c183dd7", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "bc25904c", "metadata": {}, "source": [ "## Aufgabe 3.7\n", "\n", "#### Aufgabe 3.7.1\n", "\n", "Schwierigkeit: 😈😈\n", "\n", "Sei eine Liste mit Zahlen: \n", "\n", "```python\n", "liste = [19, -17, 31, 1, 42]\n", "```\n", "\n", "Suche in der gegebenen Liste nach der größten Zahl. Nutze dafür Schleifen. " ] }, { "cell_type": "code", "execution_count": null, "id": "ee005047", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "f558ecad", "metadata": {}, "source": [ "#### Aufgabe 3.7.2\n", "\n", "Schwierigkeit: 😈😈\n", "\n", "Schreibe das obige Programm so um, dass du nun die Position in der Liste des Maximums ausgibst. " ] }, { "cell_type": "code", "execution_count": null, "id": "c7bf659f", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "b0066de3", "metadata": {}, "source": [ "# Zusatzaufgaben\n", "## Aufgabe 3.8\n", "\n", "Schwierigkeit: 😈😈😈\n", "\n", "Strings sind eigentlich nichts anderes als Liste von Charakteren. Dementsprechend kann man auf einzelne Charaktere wie Listenelemente zugreifen: \n", "\n", "```python \n", "str = \"Hallo Welt!\"\n", "str[1]\n", " # Ausgabe >>> 'a'\n", "```\n", "\n", "Nun möchte man erkennen ob ein Wort ein __Palindrom__ ist. Ein Palindrom ist ein Wort das von vorne oder hinten gelesen gleich ist. \n", "\n", "Zum Beispiel: Bob, Anna, Lagerregal, Kayak\n", "\n", "Schreibe ein Programm, welches Palindrome erkennt. \n", "\n", "Tipp: mit `.lower()` macht alle Buchstaben in einem String zu kleinen Buchstaben." ] }, { "cell_type": "code", "execution_count": null, "id": "48c96695", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "a8bcdd33", "metadata": {}, "source": [ "#### Aufgabe 3.8.1\n", "\n", "Schreibe ein Programm, welches einen String umdreht. Sprich: \n", "```\n", " \"Hallo Welt\" --> \"tleW ollaH\"\n", "```\n" ] }, { "cell_type": "code", "execution_count": null, "id": "156a5b0d", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "bc265b2b", "metadata": {}, "source": [ "## Aufgabe 3.9\n", "Für die ganz schnellen 😜\n", "\n", "Schwierigkeit: 😈😈😈😈+\n", "\n", "Seien A und B zwei Listen unterschiedlicher Länge: \n", "\n", "```python \n", "\n", " A = [4, 2, 1, 9, 10]\n", " B = [5, 3, 1, 0, -1, 7]\n", "\n", "```\n", "\n", "Du sollst eine Lösung implementieren, die eine Listen, unabhängig von ihrer Länge, aufsteigend sortiert. \n", "Zum Sortieren vergleicht man zwei nebeneinanderliegende Listen-Elemente und überprüft ob das linke größer als das rechts ist. Ist das der Fall, dann werden die Elemente getauscht. Ansonsten nicht. \n", "\n", "Du musst nur eine Liste auf einmal sortieren. \n", "\n", "Tipp: du brauchst zwei Schleifen. " ] }, { "cell_type": "code", "execution_count": null, "id": "8fbfa38c", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" }, "vscode": { "interpreter": { "hash": "ad2bdc8ecc057115af97d19610ffacc2b4e99fae6737bb82f5d7fb13d2f2c186" } } }, "nbformat": 4, "nbformat_minor": 5 }