Zwei Zahlen addieren
Zwei Zahlen in Python addieren mit +, sum() und functools.reduce(). Ganzzahlen, Gleitkommazahlen und Benutzereingaben werden erklärt.
Zwei Zahlen zu addieren ist eine der ersten arithmetischen Operationen, die du in Python verstehen musst. Python unterstützt mehrere Ansätze: den einfachen +-Operator für die unkompliziertesten Fälle, die eingebaute Funktion sum() beim Arbeiten mit einer Sammlung sowie functools.reduce() für Code im funktionalen Stil. Diese Seite behandelt alle drei Methoden sowie den wichtigen Schritt, Benutzereingaben in einen numerischen Typ umzuwandeln, bevor sie addiert werden.
Methode 1: Den +-Operator verwenden
Der Additionsoperator + ist der direkteste Weg, zwei Zahlen zu addieren. Er funktioniert mit ganzen Zahlen, Gleitkommazahlen und komplexen Zahlen.
Derselbe Operator funktioniert ohne Änderungen auch mit Gleitkommazahlen:
x = 3.5
y = 1.2
print(x + y) # Output: 4.7Tipp zur Benennung von Variablen: Vermeide es, eine Variable sum zu nennen — dies überschattet Pythons eingebaute Funktion sum() und kann später in deinem Code zu verwirrenden Fehlern führen.
Methode 2: Zahlen aus Benutzereingaben addieren
Wenn ein Benutzer eine Zahl eingibt, empfängt Python sie als string. Du musst sie mit int() in eine ganze Zahl oder mit float() in eine Gleitkommazahl umwandeln, bevor du Arithmetik ausführen kannst. Siehe Python Casting für eine vollständige Erklärung der Typumwandlung.
a = int(input("Enter first number: "))
b = int(input("Enter second number: "))
result = a + b
print("The sum is:", result)Wenn die Eingabe Dezimalstellen enthalten kann, verwende float() statt int():
a = float(input("Enter first number: "))
b = float(input("Enter second number: "))
print("The sum is:", a + b)Methode 3: Die eingebaute Funktion sum() verwenden
Pythons eingebaute Funktion sum() addiert jedes Element in einem Iterable (z. B. einer Liste oder einem Tupel). Sie ist das richtige Werkzeug, wenn du mehr als zwei Zahlen addieren möchtest.
sum() akzeptiert auch ein optionales start-Argument, das zum Ergebnis hinzugefügt wird:
total = sum([1, 2, 3], 10) # 10 + 1 + 2 + 3
print(total) # Output: 16Dies ist nützlich, wenn du einen laufenden Gesamtwert akkumulieren möchtest.
Methode 4: functools.reduce() verwenden
reduce() aus dem Modul functools wendet eine Funktion mit zwei Argumenten wiederholt auf eine Sequenz an und reduziert sie auf einen einzelnen Wert. Für einfache Addition ist sum() verständlicher, aber reduce() ist wertvoll, wenn die Kombinationsfunktion komplexer als + ist.
Du kannst auch ein lambda anstelle einer benannten Funktion übergeben:
from functools import reduce
total = reduce(lambda x, y: x + y, [10, 20, 30, 40, 50])
print(total) # Output: 150Den richtigen Ansatz wählen
| Situation | Empfohlener Ansatz |
|---|---|
| Zwei bekannte Werte addieren | +-Operator |
| Zahlen von der Tastatur einlesen | int() / float(), dann + |
| Eine Liste oder ein Tupel summieren | sum() |
| Eine benutzerdefinierte Kombinationsfunktion anwenden | functools.reduce() |
Verwandte Themen
- Python Variables — Werte speichern und benennen
- Python Operators — vollständige Referenz für arithmetische, Vergleichs- und logische Operatoren
- Python Numbers — ganze Zahlen, Gleitkommazahlen und komplexe Zahlen erklärt
- Python Casting — Typumwandlung mit
int(),float()undstr() - Python User Input — Werte von der Tastatur mit
input()einlesen