# Für die Zahl, von der die Quersumme berechnet, werden soll, wird die Variable zahl deklariert.
# Für das Ergebnis und Zwischenwerte der Quersumme wird die Variable quersumme deklariert.
# Die Variable r ist eine Hilfsvariable, die dazu dient, die einzelnen Ziffern der mehrstelligen Zahl zwischenzuspeichern.
# Die Variable exit sorgt dafür, dass die Schleife beendet wird, wenn die Quersumme einstellig geworden ist.
print("Geben Sie ein Zahl, die größer als 10 ist, ein: ")
zahl = int(input())

# Es ist auch möglich, Quersummen von negativen Zahlen zu berechnen.  Dazu wird hier die boolesche Variable negativ deklariert und mit dem Wert false initialisiert.
negativ = False

# In der Fallunterscheidung wird geprüft, ob die eingegebene Zahl kleiner als 0 ist, falls ja, wird der Wert der Variable negativ auf true gesetzt und die eingegebene Zahl mit -1 multipliziert. Die Zahl ist dann positiv, nach der Berechnung der Quersumme wird das Ergebnis später wieder mit -1 multipliziert.
if zahl < 0:
    negativ = True
    zahl = zahl * -1
exit = False
while zahl >= 10 and exit == False:
    
    # Ab hier beginnt die eigentliche Berechnung.
    quersumme = 0
    while zahl > 0:
        
        # Solange die Variable zahl größer als 0 ist, wird die letzte Stelle der Zahl abgeschnitten und in der Variable r gespeichert.
        r = zahl % 10
        
        # Die Zahl wird durch 10 geteilt, da im Schritte vorher die letzte Stelle gespeichert wurde.
        zahl = float(zahl) / 10
        
        # Jetzt werden die Ziffern der Zahl schrittweise addiert.
        quersumme = quersumme + r
    if quersumme >= 10:
        zahl = quersumme
    else:
        
        # Im Fall, dass die berechnete Quersumme größer als 10 ist, das bedeutet, die Quersumme ist nicht einstellig, wird die Berechnung erneut durchlaufen, aber diesmal mit der gefundenen Quersumme als Startwert.
        exit = True
print("Die einstellige Quersumme der gebenen Zahl ist: ")

# Hier wird geprüft, ob die ursprünglich Zahl negativ war, falls ja, wird die berechnete Quersumme mit -1 multipliziert.
if negativ:
    quersumme = quersumme * -1
print(quersumme)   
        
        
akzeptieren ablehen

Diese Website verwendet Cookies und Zählpixel, um Ihnen die bestmögliche Nutzung dieser Website zu ermöglichen.Learn more about cookies sehen Sie auch Datenschutz