This is an old revision of the document!
Python Repetition / Cheat Sheet
Variablen, Strings vs. Zahlen
Variablen mit Zahlen
foo = 42 # Zuweisung: Speichert die Zahl 42 in einen "Behälter", der mit "foo" angeschrieben ist. bar = foo/2+2 # Verwendung der Variable foo. Diese wird durch den aktuellen Wert ersetzt. bar wird dann 23. foo = foo + 1 # Rechts erst ausrechnen, Resultat in Variable vor dem = speichern. foo wird dann 43 print(bar) # Ausgabe von bar (immer noch 23) print(foo-bar) # Ausgabe 20
Variablen mit Strings (Zeichenketten)
foo = "42" # Zeichenkette aus den Zeichen '4' und '2'. bar = foo + "23" # Ergibt "4223". String + String bedeutet Zeichenketten aneinander hängen. print(bar) # Gibt 4223 aus baz = int(foo)+23 # int(String) wandelt in eine Zahl um. Resultat 65 print(baz) # Gibt 65 aus bla = str(baz)+"23" # str(dings) wandelt dings in einen String (Zeichenkette) um. Resultat "6523" print(bla) # Gibt 6523 aus
Formatierte Ausgabe
foo = 42 print("%d ist die Antwort und %d ist nur die halbe Wahrheit" % (foo, foo/2)) # Ausgabe 42 ist die Antwort und 21 ist nur die halbe Wahrheit pi = 3.141529 print("pi als Ganzzahl: %d, als Dezimalzahl: %f, auf 2 Stellen %.2f und 20 Stellen %.20f" % (pi,pi,pi,pi)) # Ausgabe pi als Ganzzahl: 3, als Dezimalzahl: 3.141529, auf 2 Stellen 3.14 und 20 Stellen 3.14152899999999979386
Wiederholungen
Bekannte Anzahl
for humpfdidumpf in range(10): # humpfdidumpf wird Laufvariable genannt und wird für jede Wiederholung hochgezählt (hier von 0 bis und mit 9). print("Alles was einrückt ist") print("wird 10 mal wiederholt") print("humpfdidumpf ist jetzt %d" % humpfdidumpf) print("Was nicht eingerückt wird, wird ausgeführt, wenn die Wiederholungen fertig sind")
Oder Anzahl in Variable:
anzahl = 5 for i in range(anzahl): print("%d im Quadrat ist %d" % (i, i*i))
Unbekannte Anzahl
Bis zu welcher Zahl muss man natürliche Zahlen aufsummieren, um über 1000 zu kommen?
summe = 0 zahl = 0 while summe < 1000: # Wiederholen, so lange die Bedingung wahr ist zahl += 1 # Kurz für zahl = zahl+1 (Die Abstände sind optional, es kann aber die Lesbarkeit erhöhen). summe += zahl # Kurz für summe = summe + zahl print("Man muss die Zahlen von 1 bis %d addieren damit die Summe grösser als 1000 wird (nämlich %d)" % (zahl, summe))
Selektion (if, elif, else)
for z in range(40): if z%15 == 0: # z%15 ist der Rest der Division durch 15. Um Gleichheit zu prüfen wird das doppelte Gleichheitszeichen verwendet print("%d ist durch 15 teilbar" % z) print("Alles was eingerückt ist, wird nur dann ausgeführt, wenn die Bedingung wahr ist") elif z%5 == 0: # Wenn die erste Bedingung falsch ist, und z%5==0 print("%d ist eine Fünferzahl" % z) elif z%3 == 0: print("Dreierzahl %d" % z) else: # Wenn keine der obigen Bedingungen wahr ist print("%d ist weder durch 3 noch 5 teilbar" % z) print("Das wird auf jeden Fall ausgeführt, weil bezüglich dem if nicht eingrückt, es wird aber wiederholt") print("Und das wird nicht wiederholt, sondern nur ganz am Schluss einmal ausgegeben")