Du musst nicht alles selbst programmieren! Python kommt mit vielen eingebauten Funktionen, die sofort verfügbar sind. Du hast bereits einige davon verwendet — print() und input() sind auch eingebaute Funktionen.
Die wichtigsten eingebauten Funktionen
Ausgabe und Eingabe
print("Hallo Welt!") # Text auf dem Bildschirm ausgeben
name = input("Wie heißt du? ") # Text vom Benutzer einlesen
Typumwandlung
zahl = int("42") # Text in ganze Zahl umwandeln
kommazahl = float("3.14") # Text in Kommazahl umwandeln
text = str(100) # Zahl in Text umwandeln
ist_wahr = bool(1) # Wert in True/False umwandeln
Mathematik
print(abs(-7)) # 7 (Absolutwert / Betrag)
print(round(3.7)) # 4 (runden)
print(round(3.14159, 2)) # 3.14 (auf 2 Dezimalstellen)
print(max(3, 8, 1, 5)) # 8 (größter Wert)
print(min(3, 8, 1, 5)) # 1 (kleinster Wert)
print(sum([4, 7, 2])) # 13 (Summe aller Elemente)
Die Funktion round() verwendet das sogenannte "Kaufmännische Runden": Bei einer 5 als letzter Ziffer wird zur nächsten geraden Zahl gerundet. round(2.5) ergibt 2, round(3.5) ergibt 4. Das mag überraschend sein!
Informationen über Objekte
zahlen = [3, 1, 4, 1, 5]
print(len(zahlen)) # 5 (Anzahl der Elemente)
print(type(zahlen)) # <class 'list'>
print(type(42)) # <class 'int'>
Sequenzen erstellen
for i in range(5): # 0, 1, 2, 3, 4
print(i)
buchstaben = list("abc") # ['a', 'b', 'c']
paare = list(enumerate(["x", "y", "z"]))
# [(0, 'x'), (1, 'y'), (2, 'z')]
enumerate() ist sehr praktisch, wenn du sowohl den Index als auch den Wert einer Liste brauchst:
namen = ["Anna", "Ben", "Clara"]
for index, name in enumerate(namen):
print(f"{index + 1}. {name}")
# 1. Anna / 2. Ben / 3. Clara
Sortieren
zahlen = [5, 2, 8, 1, 9]
sortiert = sorted(zahlen) # neue sortierte Liste
print(sortiert) # [1, 2, 5, 8, 9]
print(zahlen) # [5, 2, 8, 1, 9] (unverändert)
zahlen.sort() # sortiert die Liste direkt
print(zahlen) # [1, 2, 5, 8, 9]
Zeichen und ASCII-Codes
print(ord("A")) # 65 (ASCII-Code von 'A')
print(chr(65)) # A (Zeichen für ASCII-Code 65)
print(chr(97)) # a (ASCII-Code 97 ist Kleinbuchstabe 'a')
input() gibt immer einen Text (String) zurück, auch wenn der Benutzer eine Zahl eingibt. Du musst int() oder float() verwenden, um damit rechnen zu können: alter = int(input("Dein Alter: ")).
Übersicht: Häufig verwendete eingebaute Funktionen
| Funktion | Was sie tut | Beispiel |
|---|---|---|
print() | Ausgabe auf dem Bildschirm | print("Hallo") |
input() | Eingabe vom Benutzer | x = input("?") |
len() | Länge einer Sequenz | len([1,2,3]) → 3 |
int() | Umwandlung in ganze Zahl | int("5") → 5 |
float() | Umwandlung in Kommazahl | float("3.5") → 3.5 |
str() | Umwandlung in Text | str(42) → "42" |
range() | Zahlenfolge erzeugen | range(5) → 0–4 |
max() | Größten Wert finden | max(3, 7, 1) → 7 |
min() | Kleinsten Wert finden | min(3, 7, 1) → 1 |
sum() | Summe berechnen | sum([1,2,3]) → 6 |
abs() | Betrag einer Zahl | abs(-5) → 5 |
round() | Zahl runden | round(3.7) → 4 |
Übungsaufgaben
Ein Schüler schreibt: alter = input('Dein Alter: ') / naechstes_jahr = alter + 1 / print(naechstes_jahr). Was ist das Problem und wie wird es behoben?
Antwort anzeigen
Was gibt sorted([3, 1, 4, 1, 5], reverse=True) aus?