add python
This commit is contained in:
		
							parent
							
								
									e9242839f7
								
							
						
					
					
						commit
						7efe0fabcf
					
				@ -1,3 +1,6 @@
 | 
				
			|||||||
 | 
					#import "@preview/cetz:0.4.1"
 | 
				
			||||||
 | 
					#import "@preview/cetz-venn:0.1.4"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
== Python Wahlmodul
 | 
					== Python Wahlmodul
 | 
				
			||||||
=== Virtuall Envirements
 | 
					=== 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. \
 | 
					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"],
 | 
					[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
 | 
					=== Runden
 | 
				
			||||||
#table(columns: (1fr, 1fr),
 | 
					#table(columns: (1fr, 1fr),
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user