lehrkraefte:blc:informatik:pyhton-cheatsheet

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:pyhton-cheatsheet [2022/06/13 08:07] Ivo Blöchligerlehrkraefte:blc:informatik:pyhton-cheatsheet [2022/06/16 10:17] (current) – [Python Cheat-Sheet] Ivo Blöchliger
Line 1: Line 1:
 +====== Python Cheat-Sheet ======
 +Eine Zusammenfassung der wichtigsten Python-Elemente.
  
 +Es gibt aber online jede Menge solcher Cheat-Sheets, z.B.
 +  * https://betterprogramming.pub/10-must-have-python-cheatsheets-2b74e8097bc3
 +
 +===== Wiederholungen =====
 +==== for-Schlaufe ====
 +=== mit range ===
 +<code python>
 +for i in range(10):  # i läuft von 0 bis und mit 9 (10 Wiederholungen)
 +    print(i)
 +for i in range(10,30):  # i läuft von 10 bis und mit 29 (30-10=20 Wiederholungen)
 +    print(i)
 +for i in range(10,97,5): # i läuft in 5-er Schritten von 0 bis und mit 95. Anzahl Wiederholungen: Aufgerundet((97-10)/5)=Aufgerundet(17.4)=18
 +    print(i)
 +</code>
 +=== mit String ===
 +<code python>
 +for buchstabe in "abcde":  # Alle Zeichen eines Strings durchgehen
 +    print(buchstabe)
 +</code>
 +=== mit Array ===
 +<code python>
 +for element in [2,3,5,7,11,13,17]:  # Alle Einträge in einem Array durchgehen
 +    print(element)
 +for index, element in enumerate([2,3,5,7,11,13,17]):
 +    print("%d. Primzahl ist %d" % (index+1,element))
 +</code>
 +==== while-Schlaufe ====
 +<code python>
 +i = 0
 +while i<1000:   # Wiederholen, so lange wie i<1000
 +    i=1+i*2
 +print(i)    # Gibt ein Resultat >=1000 aus, sonst würde weiter wiederholt.
 +</code>
 +==== break und continue====
 +  * ''break'' verlässt die innerste while- oder for-Schlaufe
 +  * ''continue'' springt sofort wieder an den Anfang der Schlaufe und beginnt die nächste Wiederholung
 +<code python>
 +for i in range(20):
 +    if i==10:
 +        break
 +    print(i)   # Zeigt nur bis 9 an, dann wir die Schleife vorzeitig beendet
 +for i in range(10):
 +    if i>4 and i<8:
 +        continue
 +    print(i)   # Zeigt die Werte 5 bis 7 nicht an.
 +</code>
 +
 +
 +===== Arrays und Tuples =====
 +Arrays werden mit ''[]'' notiert und deren Einträge können machträglich modifiziert werden. Tuples werden mit ''()'' geschrieben und können nicht mehr modifiziert werden.
 +
 +Der Zugriff auf einzelne Elemente erfolgt immer mit ''[index]'', der von 0 bis Anzahl Element -1 läuft.
 +<code python>
 +a = [10,20,30,40]
 +b = [10*(i+1) for i in range(4)]  # ergibt das Gleiche wie a
 +print(a[1]) # gibt 20 aus
 +a[1]=42
 +print(a)  # Gibt [10,42,30,40] aus
 +
 +a.append(123)  # Fügt Element hinten an
 +print(len(a))  # Gibt 5 aus (Anzahl Elemente, Länge der Liste)
 +
 +c = a[2:]      # Unterliste ab 3. Element
 +c = a[:2]      # Unterliste bis und mit 2. Element
 +c = a[0::2]    # Jedes zweite Element
 +c = a[::-1]    # Liste in umgekehrter Reihenfolge
 +</code>
 +
 +===== Strings =====
 +<code python>
 +a = "Hallo Welt!"
 +print(len(a))   # Länge vom String (in Python3 als Anzahl Unicode-Zeichen).
 +b = (a+" ")*5   # Ergibt "Hallo Welt! Hallo Welt! Hallo Welt! Hallo Welt! Hallo Welt! "
 +w = a[6:-1]     # Ergibt "Welt" (ohne '!', weil das letzte Zeichen (-1) nicht mehr dazu gehört).
 +w = a[::-1]     # Ergibt "!tleW ollaH"
 +w = a.upper()   # Ergibt "HALLO WELT!"
 +ord("A"       # Ergibt 65 (ASCII-Code vom Buchstaben A)
 +chr(65)         # Ergbit "A" (Buchstaben mit ASCII-Code 65)
 +</code>
 +===== Formatierte Ausgabe mit % =====
 +
 +Der generelle Syntax ist 
 +  String % Liste
 +und kann auch ausserhalb eines Print-Statements stehen.
 +<code python>
 +print("%d %%-Zeichen werden als eines ausgegeben" % 2)
 +# Ganzzahlen:
 +for f in ["%d", "%6d", "%06d", "%x"]:
 +  print(("%"+f+"\t->"+f+"<-") % 42)
 +  
 +# Komma-Zahlen
 +for f in ["%f", "%.2f", "%16.3f", "%.20f"]:
 +  print(("%"+f+"\t->"+f+"<-") % 123.123456789012345678)
 +
 +</code>
 +Produziert folgende Ausgabe:
 +<code txt>
 +2 %-Zeichen werden als eines ausgegeben
 +%d ->42<-
 +%6d ->    42<-
 +%06d ->000042<-
 +%x ->2a<-
 +%f ->123.123457<-
 +%.2f ->123.12<-
 +%16.3f ->         123.123<-
 +%.20f ->123.12345678901235146441<-
 +</code>
 +===== Zufallszahlen =====
 +
 +<code python>
 +import random
 +
 +print("Kommazahlen zwischen 0.0 und 1.0:")
 +print([random.random() for i in range(10)])
 +
 +print("\nGanze Zahlen zwischen 0 und 5 inklusive:")
 +print([random.randrange(6) for i in range(10)])
 +
 +print("\nGanze Zahlen zwischen 10 und 12 inklusive:")
 +print([random.randrange(10,13) for i in range(10)])
 +
 +print("\nGerade Zahlen zwischen 10 und 20 inklusive:")
 +print([random.randrange(10,21,2) for i in range(10)])
 +
 +</code>
 +produziert z.B. folgende Ausgabe
 +<code txt>
 +Kommazahlen zwischen 0.0 und 1.0:
 +[0.0658331907830767, 0.17311707165395052, 0.6098956790313563, 0.1789626410595354, 0.3998799536654055, 0.5395436735329359, 0.07010297234318463, 0.5109469379374929, 0.7800799669858436, 0.4829877816106407]
 +
 +Ganze Zahlen zwischen 0 und 5 inklusive:
 +[1, 4, 0, 4, 5, 1, 0, 5, 1, 1]
 +
 +Ganze Zahlen zwischen 10 und 12 inklusive:
 +[12, 11, 12, 11, 10, 10, 10, 12, 11, 11]
 +
 +Gerade Zahlen zwischen 10 und 20 inklusive:
 +[10, 18, 10, 12, 12, 10, 20, 12, 12, 20]
 +</code>