Skip to content

Commit

Permalink
deploy: 8896fd5
Browse files Browse the repository at this point in the history
  • Loading branch information
yannickfrommherz committed Nov 14, 2023
1 parent 6a80204 commit 37c6603
Show file tree
Hide file tree
Showing 41 changed files with 1,334 additions and 1,070 deletions.
5 changes: 2 additions & 3 deletions _sources/programming/1_Notebooks/1_Einfuehrung.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -356,9 +356,7 @@
},
"outputs": [],
"source": [
"#In diese Zelle kannst Du den Code zur Übung schreiben.\n",
"\n",
"\n"
"#In diese Zelle kannst Du den Code zur Übung schreiben.\n"
]
},
{
Expand Down Expand Up @@ -654,6 +652,7 @@
"source": [
"#In diese Zelle kannst Du den Code zur Übung schreiben.\n",
"\n",
"\n",
"\n"
]
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -544,8 +544,7 @@
"\n",
"regex = r\"\"\n",
"\n",
"for match in re.findall(regex, kv21):\n",
" pass\n",
"climate_compounds = re.findall(regex, kv21):\n",
" \n"
]
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,11 @@
"metadata": {},
"outputs": [],
"source": [
"nr1 = 9\n",
"#Definieren von zwei Variablen\n",
"nr1 = 9 \n",
"nr2 = 2\n",
"nr3 = nr2 - nr1\n",
"print(nr3 * nr3)"
"nr3 = nr2 - nr1 #Definieren einer weiteren Variable, welche sich aus der Subtraktion der zweiten von der ersten Variablen ergibt\n",
"print(nr3 * nr3) #Ausgabe der dritten Variable mit sich selbst multipliziert"
]
},
{
Expand All @@ -57,12 +58,13 @@
"metadata": {},
"outputs": [],
"source": [
"#Definieren von je einer Variable pro Wort\n",
"word1 = \"Ich\"\n",
"word2 = \"bin\"\n",
"word3 = \"Programmierer\"\n",
"whitespace = \" \"\n",
"sentence = word1 + whitespace + word2 + whitespace + word3\n",
"print(sentence)"
"whitespace = \" \" #Variable für Leerzeichen\n",
"sentence = word1 + whitespace + word2 + whitespace + word3 #Konkatenieren der Wörter und Leerzeichen zu einem Satz\n",
"print(sentence) "
]
},
{
Expand Down Expand Up @@ -103,7 +105,7 @@
"source": [
"#Bedenke, dass auch nach \"So\" ein Zeilenumbruch eingefügt werden muss.\n",
"days = \"Mo\\nDi\\nMi\\nDo\\nFr\\nSa\\nSo\\n\"\n",
"print(days * 52)"
"print(days * 52) #52-malige Ausgabe der Wochentage "
]
},
{
Expand All @@ -128,7 +130,7 @@
"source": [
"str1 = \"hallo\"\n",
"str2 = \"HALLO\"\n",
"print(str1 == str2)"
"print(str1 == str2) #Vergleich: Sind die Werte in 'str1' und 'str2' dieselben? Ergebnis: Nein (= False), da strings in Python case-sensitive sind."
]
},
{
Expand All @@ -151,11 +153,15 @@
"metadata": {},
"outputs": [],
"source": [
"'''Es handelt sich im Folgenden um eine for-Schleife mit if-Statement. Du musst die Funktionsweise \n",
"der Schleife an dieser Stelle noch nicht im Detail verstehen, ihr widmet sich das Notebook \"Kontrollstrukturen\".\n",
"Die Kommentare geben Dir aber bereits einen kleinen Einblick, was die Schleife und das if-Statement bewirken.'''\n",
"\n",
"alphabet = \"abc\"\n",
"\n",
"for character in alphabet:\n",
" if character == \"a\":\n",
" print(character)"
"for character in alphabet: #Iterieren über jeden einzelnen 'character' im Objekt 'alphabet'\n",
" if character == \"a\": #Prüfen, ob 'character' ein \"a\" ist, wenn ja....\n",
" print(character) #...Ausgabe des Buchstabens"
]
},
{
Expand All @@ -179,8 +185,8 @@
"outputs": [],
"source": [
"word = \"Boeing\"\n",
"number_as_string = \"747\"\n",
"result = word + \" \" + number_as_string\n",
"number_as_string = \"747\" #Wir schreiben die Zahl in Anführungszeichen, damit aus ihr ein string wird,....\n",
"result = word + \" \" + number_as_string #...da Python nur strings mit dem +-Operator konkateniert.\n",
"print(result)"
]
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,13 @@
},
"outputs": [],
"source": [
"#Erstellen von vier Listen, je eine pro Jahreszeit\n",
"spring = [\"März\", \"April\", \"Mai\"]\n",
"summer = [\"Juni\", \"Juli\", \"August\"]\n",
"fall = [\"September\", \"Oktober\", \"November\"]\n",
"winter = [\"Dezember\", \"Januar\", \"Februar\"]\n",
"seasons = [spring, summer, fall, winter]\n",
"\n",
"seasons = [spring, summer, fall, winter] #Definieren einer neuen Liste, welche die vier zuvor erstellten Listen als Elemente beinhaltet\n",
"print(seasons)"
]
},
Expand All @@ -62,8 +64,9 @@
},
"outputs": [],
"source": [
"#Erstellen eines dictionary, das für jeden der vier Schlüssel die jeweilige, oben definierte Liste als Wert enthält\n",
"seasons = {\"spring\": spring, \"summer\": summer, \"fall\": fall, \"winter\": winter}\n",
"print(seasons[\"spring\"])"
"print(seasons[\"spring\"]) #Ausgabe der Liste der Frühlingsmonate, indem der Schlüssel 'spring' vom dictionary angesprochen wird"
]
},
{
Expand Down Expand Up @@ -91,9 +94,9 @@
"hislist = [\"Pasta\", \"Hafermilch\", \"Marmelade\", \"Brötchen\"]\n",
"herlist = [\"Brokkoli\", \"Hafermilch\", \"Brot\", \"Marmelade\"]\n",
"\n",
"theirlist = hislist + herlist\n",
"theirset = set(theirlist)\n",
"print(theirset)\n",
"theirlist = hislist + herlist #Zusammenfügen der beiden Listen mit dem +-Operator\n",
"theirset = set(theirlist) #Casten in eine Menge, sodass keine Elemente doppelt vorkommen \n",
"print(theirset) #Ausgabe der Menge (deshalb steht der Output in geschweiften Klammern)\n",
"\n",
"#Auch möglich ohne Anlegen einer dritten Liste:\n",
"#theirset = set(hislist + herlist)\n",
Expand Down Expand Up @@ -124,6 +127,9 @@
"list_of_words1 = [\"Satz\", \"daraus\", \"Mach\", \"bitte\", \"sinnvollen\", \"einen\"]\n",
"conjunction = \"und\"\n",
"list_of_words2 = [\"Ende\", \"ausgeben.\", \"lass\", \"am\", \"Dir\", \"ihn\"]\n",
"\n",
"\"\"\"Elemente der drei Listen werden mittels Indexing in die richtige Reihenfolge gebracht. Beachte: Das erste Listenelement\n",
"besitzt immer den Index [0]. Negatives Indexing ist außerdem sehr effektiv, um auf die hinteren Listenelemente zuzugreifen.\"\"\"\n",
"meaningful = list_of_words1[2] + \" \" + list_of_words1[3] + \" \" + list_of_words1[-1] + \" \" + list_of_words1[-2] + \" \" + list_of_words1[0] + \" \" + list_of_words1[1] + \" \" + conjunction + \" \" + list_of_words2[2] + \" \" + list_of_words2[-1] + \" \" + list_of_words2[-2] + \" \" + list_of_words2[3] + \" \" + list_of_words2[0] + \" \" + list_of_words2[1]\n",
"print(meaningful)"
]
Expand Down Expand Up @@ -163,8 +169,8 @@
"outputs": [],
"source": [
"words_for_sentence = [\"Füge\", \"Satz\", \"bitte\", \"zusammen\", \"diesen\", \".\"]\n",
"wordlist = words_for_sentence[::2] + words_for_sentence[1::2]\n",
"sentence = \" \".join(wordlist)\n",
"wordlist = words_for_sentence[::2] + words_for_sentence[1::2] #Slicing mit step=2, aber mit jeweils unterschiedlichen Startindizes\n",
"sentence = \" \".join(wordlist) #'join' konkateniert die einzelnen Elemente auf 'wordlist' mit einem Leerschlag dazwischen\n",
"print(sentence)"
]
},
Expand All @@ -190,8 +196,11 @@
"source": [
"wild_mix = [\"Montag\", 1, 20.0, {\"Friday\": \"Freitag\", \"Saturday\": [\"Samstag\", \"Sonnabend\"]}]\n",
"\n",
"for element in wild_mix:\n",
" print(type(element))"
"for element in wild_mix: #Iterieren über jedes einzele Element der Liste 'wild_mix' (mehr dazu im Notebook \"Kontrollstrukturen\")\n",
" print(type(element)) #Ausgabe des Datentyps für jedes Element \n",
"\n",
"\"\"\"Hinweis: Das dictionary wird bei der Interation nicht weiter \"auseinandergenommen\", da es sich als Ganzes um nur ein \n",
"Element der Liste handelt, welches mit geschweiften Klammern beginnt und endet.\"\"\""
]
}
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@
"#Lösungsweg mit \"and\"\n",
"age = 28\n",
"\n",
"if age > 18 and age <= 65:\n",
"if age > 18 and age <= 65: #Überprüfen, ob 'age' größer als 18 UND kleiner oder gleich 65 ist. Wenn ja, Ausgabe des folgenden Outputs:\n",
" print(\"Mensch arbeitet vermutlich\")\n",
"else: \n",
"else: #Andernfalls wird folgende Ausgabe erzeugt:\n",
" print(\"Mensch arbeitet vermutlich nicht\")\n",
" \n",
"#Lösungsweg mit \"or\"\n",
"#Beachte \"kleiner gleich\" statt \"kleiner\" bzw. \"größer\" statt \"größer gleich\" verglichen mit oben\n",
"#Gleich wie oben, nur \"kleiner gleich\" statt \"kleiner\" bzw. \"größer\" statt \"größer gleich\" \n",
"if age <= 18 or age > 65:\n",
" print(\"Mensch arbeitet vermutlich nicht\")\n",
"else:\n",
Expand Down Expand Up @@ -77,16 +77,18 @@
"source": [
"height = 182\n",
"\n",
"#Überprüfen, ob die mit 'height' referenzierte Zahl sinnvoll ist, d.h., ob sie zwischen 100 und 199 liegt\n",
"if height > 99 and height < 200:\n",
" #Wir beginnen von oben und überprüfen, ob 'height' größer als 180 ist.\n",
" #Wir beginnen von oben und überprüfen, ob 'height' größer als 180 ist\n",
" if height > 180:\n",
" print(\"groß\")\n",
" #Wenn nicht, reicht die Überprüfung, ob 'height' größer gleich 170 ist (wenn 'height' größer als 180 wäre, wäre es bereits durch if-Statement oben \"abgefangen\" worden).\n",
" #Wenn nicht, reicht die Überprüfung, ob 'height' größer gleich 170 ist (wenn 'height' größer als 180 wäre, wäre es bereits durch das if-Statement oben \"abgefangen\" worden)\n",
" elif height >= 170:\n",
" print(\"durchschnittlich\")\n",
" #In allen anderen Fällen muss \"klein\" eintreten ('height' größer als 180 oder größer gleich 170 wäre ja bereits \"abgefangen\" worden).\n",
" #In allen anderen Fällen muss \"klein\" eintreten ('height' größer als 180 oder größer gleich 170 wäre ja bereits \"abgefangen\" worden)\n",
" else:\n",
" print(\"klein\")\n",
"#Falls die mit 'height' referenzierte Zahl nicht sinnvoll, wir folgende \"Fehlermeldung\" ausgegeben\n",
"else:\n",
" print(\"Tut mir leid, damit kann ich nicht umgehen.\")"
]
Expand Down Expand Up @@ -116,11 +118,14 @@
"source": [
"surnames = [\"Jonsdottir\", \"Müller\", \"Johannsson\", \"Einarsdottir\", \"Fischer\", \"Suarez\", \"Johannsdottir\"]\n",
"\n",
"#Iteration über 'surnames'\n",
"for name in surnames:\n",
" #Zuerst prüfen wir, ob der Name isländischer Herkunft ist. Wenn ja, wir der darunter eingerückte Schleifenkörper ausgeführt.\n",
" #Wenn nicht, springt Python direkt zum auf gleicher Ebene eingerückten 'else'-Statement.\n",
" if name.endswith(\"dottir\") or name.endswith(\"sson\"):\n",
" if name.endswith(\"dottir\"):\n",
" if name.endswith(\"dottir\"): #Wenn Name mit \"dottir\" endet, wird dieser Code ausgeführt:\n",
" print(\"Frau\", name, \"ist vermutlich eine Frau aus Island.\")\n",
" else:\n",
" else: #Andernfalls dieser Code:\n",
" print(\"Herr\", name, \"ist vermutlich ein Mann aus Island.\")\n",
" else:\n",
" print(\"Mensch\", name, \"kommt vermutlich nicht aus Island.\")"
Expand All @@ -146,11 +151,9 @@
"metadata": {},
"outputs": [],
"source": [
"#In diese Zelle kannst Du den Code zur Übung schreiben.\n",
"\n",
"participants_pool = [\"Max\", \"Moritz\", \"Janine\", \"Hussein\", \"Fritz\", \"Mia\", \"Marianne\", \"Dolores\"]\n",
"\n",
"participants_game = []\n",
"participants_game = [] \n",
"\n",
"for name in participants_pool:\n",
" if len(participants_game) < 3:\n",
Expand All @@ -162,10 +165,11 @@
" \n",
" continue\n",
" \n",
" elif len(participants_game) >= 6:\n",
" #Hier steht der neue Code-Abschnitt zur Übungsaufgabe\n",
" elif len(participants_game) >= 6: #Wenn sechs oder mehr Teilnehmer:innen im Spiel sind, werden die folgenden beiden Ausgaben erzeugt:\n",
" print(\"Leider ist das Spiel voll. 🥲\")\n",
" print(\"Aktuelle Teilnehmer:innen: \", participants_game)\n",
" break\n",
" break #Abbruch der for-Schleife, Ausführung des Codes endet\n",
" \n",
" participants_game.append(name)\n",
" print(\"Das Spiel läuft 😍\")\n",
Expand Down Expand Up @@ -203,14 +207,23 @@
"months = {\"Januar\": 31, \"Februar\": 28, \"März\": 31, \"April\": 30, \"Mai\": 31, \"Juni\": 30, \"Juli\": 31, \"August\": 31, \"September\": 30, \"Oktober\": 31, \"November\": 30, \"Dezember\": 31}\n",
"weekdays = [\"Montag\", \"Dienstag\", \"Mittwoch\", \"Donnerstag\", \"Freitag\", \"Samstag\", \"Sonntag\"]\n",
"\n",
"\n",
"\"\"\"Zählervariable 'j' mit dem Zahlenwert fünf initialisieren, damit mit dem sechsten Wochentag \n",
"begonnen wird (Erinnerung: Index beginnt bei null), da der 1. Januar im hier gewählten Jahr 2022 ein Samstag war\"\"\"\n",
"j = 5\n",
"for month, days in months.items():\n",
" for i in range(days):\n",
" print(weekdays[j], \", \", i+1, \". \", month, sep=\"\")\n",
" j += 1\n",
" if j == 7:\n",
" j = 0"
"\n",
"#Über dictionary iterieren (dies lernst du ausführlich im Notebook \"Funktionen und Methoden Teil 1\")\n",
"for month, days in months.items(): \n",
" \"\"\"Nutzung der 'range'-Funktion, die jeweils so viele Iterationen durchführt, wie 'days' im dictionary definiert ist (bei Januar 31, etc.)\n",
" und mit 'i' jeweils eine zweite Zählervariable zurückgibt, angefangen bei null bis zum jeweiligen Wert von 'days', d.h. wenn 'month' Januar\n",
" entspricht von 0 bis 30 (Indizes beginnen bei null!)\"\"\"\n",
" for i in range(days): \n",
" #Ausgabe des Wochentages entsprechend des Indexes 'j', des Tages ('i+1'), des Monats sowie der Jahreszahl\n",
" #Parameter 'sep' legt fest, wodurch Elemente im 'print'-Befehl konkateniert werden\n",
" print(weekdays[j], \", \", i+1, \". \", month, \" 2022\", sep=\"\")\n",
"\n",
" j += 1 #Zählervariable um eins erhöhen, sodass beim nächsten Tag der jeweils nächste Wochentag indiziert wird\n",
" if j == 7: #Wenn 'j' den Wert sieben annimmt (das würde einem achten Wochentag entsprechen),...\n",
" j = 0 #...wird der Wert von 'j' auf null zurückgesetzt (der nächste Tag wird also ein Montag)"
]
}
],
Expand Down
Loading

0 comments on commit 37c6603

Please sign in to comment.