add python

This commit is contained in:
MuedeHydra 2025-10-16 18:17:32 +02:00
parent e9242839f7
commit 7efe0fabcf

View File

@ -1,3 +1,6 @@
#import "@preview/cetz:0.4.1"
#import "@preview/cetz-venn:0.1.4"
== Python Wahlmodul
=== Virtuall Envirements
Python Umgebungen (Environments) sind isolierte Verzeichnisse, die eine spezifische Python-Version und Projektabhängigkeiten (Pakete) enthalten. Ihr Zweck ist die Trennung der Projekte voneinander, um Konflikte zu vermeiden und die Reproduzierbarkeit sicherzustellen. \
@ -104,6 +107,118 @@ s2 = "Welt"
[Zeichen ersetzen], [```py s.replace("a", "A") ```], ["dAs ist ein lAnger String"],
)
=== Set
In einem Set kann im Vergleichen zur Liste jedes Element nur einmal existieren und ist sommit *einmalig!*
#table(columns: (1fr, 1fr, 1fr),
[Set erstellen], [```py s = {"a", "b", "c", "a"} ```], [Das letzte "a" wird nicht hinzugefügt da es bereits im Set ist.],
[Liste in Set umwandeln], [```py s = set(["a", "b", "c", "a"]) ```], [],
[String im Set], [```py s = set("Python") ```], [Jeder buchstabe wird einzeln gespeicher. \ `s = {'n, y, p, h, o, t}`],
[Set erweitern], [```py s.add(5) ```], [],
[Element aus Set löschen], [```py s.remove(12) ```], [Gibt einen Error aus wenn das zu entfernende Element nicht im Set ist.],
[Element aus Set löschen ohne Error], [```py s.discard(12) ```], [Gibt keinen Error aus wenn das zu entfernende Element nicht im Set ist (Programm geht weiter).],
)
*Mathe* \
Mit den Set's können Mengen operationen gemacht werden. Hier Beispiele mit "A" und "B".
#table(columns: 1fr, [```py
A = {"10", 120, "a"}
B = {120, 5, 10}
```])
#let op_scale = 0.6
#table(columns: (1fr, 1fr, 0.5fr), stroke: (x: none), align: horizon,
[Vereinigung \ $A union B$ \ ```py print(A | B) ```], [`{5, 120, "10", 10, "a"}`], [
#cetz.canvas({
cetz.draw.scale(op_scale)
cetz-venn.venn2(
name: "Vereinigung",
a-fill: yellow.transparentize(40%),
b-fill: yellow.transparentize(40%),
ab-fill: yellow.transparentize(40%),
)
cetz.draw.content("Vereinigung.a", [A])
cetz.draw.content("Vereinigung.b", [B])
}) ],
[Schnittmenge \ $A inter B$ \ ```py print(A & B) ```], [`{120}`], [
#cetz.canvas({
cetz.draw.scale(op_scale)
cetz-venn.venn2(
name: "Durchschnitt",
a-fill: none,
b-fill: none,
ab-fill: yellow.transparentize(40%),
)
cetz.draw.content("Durchschnitt.a", [A])
cetz.draw.content("Durchschnitt.b", [B])
}) ],
[Mengendifferenz \ $A \\ B$ \ ```py print(A - B) ```], [`{"10", "a"}`], [
#cetz.canvas({
cetz.draw.scale(op_scale)
cetz-venn.venn2(
name: "Mengendifferenz",
a-fill: yellow.transparentize(40%),
b-fill: none,
ab-fill: none,
)
cetz.draw.content("Mengendifferenz.a", [A])
cetz.draw.content("Mengendifferenz.b", [B])
})
],)
=== Dictionary
Ein Dictionary ist wie ein Wörterbuch mit einem "Key" und einer dazugehörigen "vule". Die "Keys müssen dabei *einzigartig* sein und *hashabel* (keine Listen oder modifizerbare Objekte).
#table(columns: (1fr, 1fr, 1fr),
[Dictionary erstellen], [```py d1 = {"1": "1. Element", 2: [1, 2, 3]} ``` \ ```py d2 = {[1, 2]: 2} ```], [d2 ist ungültig weil Listen keine "Key's" sind.],
[Auf Element zugreifen], [```py d1[2] ```], [Gibt `[1, 2, 3]` zurück],
[Auf Element zugreifen], [```py d1["x"] ```], [Gibt einen Fehler da "x" nicht im Dictionary ist],
[Auf Element zugreifen mit get()], [```py d1.get(2) # [1, 2, 3] ``` \ ```py d1.get("x") ```], [Gibt keinen Fehler auch wenn "x" nicht im Dictionary ist],
[Element überschreiben], [```py d1[2] = 2 ```], [Die Liste wurde mit 2 überschrieben],
[Element hinzufügen], [```py d1["neuer key"] = 12 ```], [Neuses Element mit dem der "value" 12.],
)
*Methoden* \
```py d1 = { a : 10 , b : 27 , c : 12} ```
#table(columns: (1fr, 1fr, 1fr),
fill: (x, y) => if y == 0 {gray.lighten(40%)},
[Was], [Code], [ausgabe],
[Liefert den value zum zugehörigen key], [```py d1.get("a") ```], [`10`],
[Löscht den value zum zugehörigen key], [```py d1.pop() ```], [`[10, 27, 12]`],
[Liefert alle values eines Dictionaries als Liste], [```py d1.values() ```], [`[10, 27, 12]`],
[Liefert alle keys eines dictionaries als Liste], [```py d1.keys() ```], [`["a", "b", "c"]`],
[Liefert alle key/value-Paare eines Dictionary als Tuple], [```py d1.items() ```], [`[("a", 10), ("b", 27), ("c", 12)]`],
)
=== Kommentare
#table(columns: (1fr, 1fr),
[Einzeiliger Kommentar],[```py price = 5.50 # this is an inline comment ``` \ ```py # this is a short ```],
[Mehrzeiliger Kommentar],[```py
def prepare_data(self):
""" Prepares all data
[...]
write to the database """
self.db_connect ()
```],
)
=== input (Benutzer eingabe)
Mit der input() funktion können eingaben vom User angenommen werden.
#table(columns: 1fr, [```py
number = input("Geben Sie eine Nummer ein : ") # eingabe als string (Text)
int_number = int(number) # eingabe als intiger
```])
=== print (Benutzer ausgabe)
#table(columns: 1fr, [```py
print("Hallo ich bin ein String")
a , b = 10 , 12
print(a)
print(f"Hier ist die Variable a mit dem wert {a}") # Das ist ein "f" String
balance = 9876.9376
print(f"Balance: CHF {balance:.2f}") # Balance: CHF 9876.94 -> Ausgabe auf 2 Stellen nach dem Komma gekuerzt
```])
=== Entscheidungen
=== Runden
#table(columns: (1fr, 1fr),