Häufige Fehler
Beschreibung der Fehlerursache |
falsch statt richtig |
Groß-/Kleinschreibung inkorrekt |
wahr = true stattwahr = True
|
Leere Klammer fehlt nach Funktionsname |
sprite.down stattsprite.down()
|
Gleitkommazahl in Komma- Schreibweise |
meinFloat = 1,37 stattmeinFloat = 1.37
|
Datentypen
Typ |
Beispielwerte Deklaration
|
Integer |
|
Float |
-1.72, 3.141 gleitzahl = 1.3
|
String |
"Hi", "Hey du!" text = 'Hallo'
|
Boolean |
True, False wahrheit = False
|
Tupel |
(1, 2, 3), ('Eins', 2, 3.45) unveraenderbar = (1, 2, 3)
|
Liste |
[1, 2, 3], ['Eins', 2, 3.45] veraenderbar = [1, 2, 3]
|
Dictionary |
{name:'hans', alter: 7,...} person = {name: 'Hans', alter: 7}
|
Iterator |
string, range, andere Objekte irgendwas = range(7)
|
Ausgabe
|
Einzelner String |
|
Ohne Zeilenumbruch |
|
Leere Zeile |
name = 'John' print('Hello', name)
|
String und Variable |
Formatiert: (z.B. zwei Nachkommastellen)
waehrung = 'Euro'
kosten = 3.1572
print('Betrag: {:.2f} {}'.format(kosten, waehrung))
>>> Preis: 3.15 Euro
Eingabe
eingabe = input('Eingabe: ')
try:
eingabe = int(eingabe)
except ValueError as err:
print('Fehler! Keine Ganzzahl!')
print('Meldung: {}'.format(err))
|
Der Datentyp von input() ist immer String, daher ggf. in anderen Datentyp umwandeln und dabei Fehlerbehandlung nutzen.
Nicht die Funktion eval() zur Umwandlung nutzen!
Operator
|
Addition |
|
Subtraktion |
|
Multiplikation |
|
Division |
|
Exponentiation |
|
Modulo (Rest bei ganzahliger Division) |
Funktionen deklarieren
# Allgemein:
def <FunktionsName>(<Parameter>):
<Anweisungen>
return <Rückgabewert>
# Beispiel:
def addiere(x, y):
ergebnis = x + y
return ergebnis
|
Bedingte Ausführung
# Allgemein:
if <bedingung>:
<anweisungen>
elif <andere_bedingung>:
<andere_anweisungen>
else:
<weitere_anweisungen>
# Beispiel:
x = 7
if x == 5:
print('Die Zahl ist eine Fünf')
elif x == 7:
print('Die Zahl ist eine Sieben')
else:
print('Die Zahl ist weder 5 noch 7')
|
Der elif-Block ist optional und kann beliebig oft verwendet werden.
Bedingungen
< |
kleiner als |
|
> |
größer als |
|
== |
gleich |
wert == 23 passwort == "geheim"
|
<= |
kleiner gleich |
|
>= |
größer gleich |
|
!= |
ungleich |
78 != 93 "Peter" != "peter"
|
in |
(enthalten) in |
"b" in "Libelle" "peter" in userListe
|
not in |
nicht in |
"y" not in "Vogel" "peter" not in userListe
|
|
|
Wiederholungen / Schleifen
# for-Schleife
for i in range(0,10):
print('Durchlauf Nr.', i)
# while-Schleife
x = 5
while x > 0:
print('x: {}'.format(x))
x -= 1
# Funktionen zur Schleifensteuerung
for i in range(0,10):
if i == 3:
continue # Nächster Durchlauf
if i == 7:
break # Abbruch der Schleife
print(i, new=', ')
>>> 0, 1, 2, 4, 5, 6,
|
Fehlerbehandlung
# Allgemein
try:
# Anweisungen
except ExceptionType as err:
# Anweisungen
# Zugriff auf Fehlermeldung: err
except:
# Anweisungen
# Beispiel
def teilen(a, b):
ergebnis = None
try:
ergebnis = a / b
except ZeroDivisionError as err:
print('Fehler: Division durch Null!')
print('Meldung: {}'.format(err))
return ergebnis
print(teilen(15, 0))
|
ExceptionType möglichst explizit angeben
Arbeiten mit Strings
|
Anzahl der Zeichen von myStr |
myStr.lower() myStr.upper()
|
Umwandlung zu Klein-/Großbuchstaben |
|
Ersetzt in myStr 'old' durch 'new' |
|
Teilt an 'char' auf, erzeugt Liste |
|
Entfernt Leerzeichen (whitespace) am Anfang und Ende von myStr |
|
Zeichen 1-5 ausschneiden |
Arbeiten mit Listen
|
Anzahl der Elemente |
|
True, wenn x ein Element in myList |
|
x an myList anhängen |
|
Element an Stelle i ersetzen durch x |
|
Verbindet Elemente der Liste zu einem String, getrennt durch c |
Iterieren über Listen (ohne Index)
for element in myList:
print('Wert:', element)
Iterieren über Listen (mit Index)
for i, element in enumerate(myList):
print('Position:', i)
print('Wert:', element)
Slicing von Listen (incl. Strings)
Beispiele
myList[-1] # letztes Element
myList[-2:] # letzten 2 Elemente
myList[:-2] # alles bis auf die letzten zwei
myList[2:-1:2] # Vom dritten bis vorletzten Element, aber nur jedes zweite
Arbeiten mit Dictionaries
|
Anzahl der Einträge |
|
Löscht Schlüssel myKey |
list(myDict.keys())
|
Liste aller Schlüssel |
|
Liste aller Werte |
|
Liste von Tupeln |
|
True, wenn myKey vorhanden |
Iterieren über Dictionaries:
myDict = {'name':'Peter', 'alter':'19'}
for key, value in myDict.items():
print('Schlüssel:', key)
print('Wert:', value)
|
|
|