Du willst mit Python die Quersumme berechnen? Dann lies weiter, denn in diesem Artikel zeigen wir Dir, wie Dir das auf einfache und schnelle Weise gelingt. Befolge einfach die 4 Schritte der Anleitung und das Berechnen der Quersumme wird kein Problem für Dich sein!
In Python die Quersumme berechnen: Für kleine Profis
Wenn Du mit Python die Quersumme berechnen willst, benötigst Du bestimmte Vorkenntnisse. Aber keine Sorge, wir zeigen Dir im Folgenden eine einfache Variante für die Berechnung und erklären Dir zudem alles, was Du wissen musst. Trotzdem ist es hilfreich, wenn Du bereits mit Variablen vertraut bist und außerdem schon verschiedene Python Datentypen kennengelernt hast. Besonders wichtig ist, dass Du schon einmal ganze Zahlen („Integer“) und Zeichenketten („Strings“) in Python gesehen hast. Außerdem solltest Du das Prinzip von Schleifen verstanden haben, weil wir zur Berechnung der Quersumme eine Schleife verwenden werden. Zuletzt ist es hilfreich, wenn Du den „input“- und „print“-Befehl bereits in Deiner bevorzugten Python Entwicklungsumgebung benutzt hast. Diese Befehle sind zur Bestimmung der Quersumme zwar nicht zwingend notwendig, jedoch kann damit anschließend auf einfache Weise mit dem Benutzer unseres Programms interagiert werden. Klingt cool, oder?
Dieses Coding-Projekt richtet sich also insbesondere an Programmierer, die bereits etwas Erfahrung haben. Wir zeigen Dir im Folgenden zudem alles Schritt für Schritt, weshalb Du auch ohne Vorkenntnisse sicher gut folgen kannst! Los geht’s mit dem Coding!
In 4 Schritten die Quersumme einer Zahl mit Python berechnen
Um die Quersumme in Python zu berechnen, musst Du nur wenige Zeilen Code schreiben, denn es handelt sich um eine sehr effiziente Coding-Sprache. Da wir wissen, dass aller Anfang schwer ist, stellen wir Dir hier eine einfache Variante zur Berechnung der Quersumme vor. Im Folgenden nehmen wir Dich an die Hand und zeigen Dir alles Schritt für Schritt.
1. Variable für die Quersumme erzeugen
Um in Python die Quersumme bestimmen zu können, benötigen wir zunächst eine Variable, denn wir müssen unser Ergebnis später speichern. Diese Variable setzen wir zu Beginn gleich Null, da wir natürlich noch nicht das Resultat kennen. Diesen Schritt nennt man auch „Initialisierung“. So sieht Deine erste Zeile Code aus:
Häufig werden Variablen bei der Initialisierung auf einen konstanten Wert, einen sogenannten „Literal“, gesetzt. Dieser zeichnet sich dadurch aus, dass er selbst keine Variablen enthält, wie die Universität München feststellt. Dabei ist in unserem Fall der „Literal“ die ganze Zahl Null.
Beachte:
Die Erzeugung von Python Variablen erfolgt durch erstmalige Wertzuweisung. Dieser Vorgang wird zudem als „Initialisierung“ bezeichnet. Anders als in anderen Coding-Sprachen muss dabei der Datentyp der Variablen nicht explizit angegeben werden. Python erkennt etwa Zahlen ohne Komma bzw. Punkt und ohne Anführungszeichen automatisch als Integer!
2. Benutzereingabe steuern
Nun benötigen wir eine natürliche Zahl, denn Du möchtest mit Python die Quersumme dieser Zahl berechnen. Jetzt wird es jedoch spannend, denn diese Zahl möchten wir später vom Benutzer unseres kleinen Programms erhalten. Wir wollen nämlich mit dem Anwender unseres Programms interagieren. Aber wie soll das gehen? Ganz einfach: Das kann mithilfe des „input“-Befehls realisiert werden und sieht im Programm schließlich so aus:
Der Text, den wir der input-Funktion übergeben, gehört zum Datentyp Python Strings und ist frei wählbar. Er wird dem Benutzer unseres Programms anschließend angezeigt. Außerdem erhält der Benutzer die Möglichkeit über seine Tastatur eine Eingabe zu tätigen. Seine Eingabe wird zudem in der Variablen „Zahl“ gespeichert, deren Name wir wiederum selbst bestimmen. Wichtig ist, dass diese Variable standardmäßig ein String ist.
3. Quersumme mithilfe einer Schleife berechnen
Im Folgenden wollen wir die Quersumme mithilfe einer Python For Schleife berechnen, denn diese ermöglicht es, bei jedem Durchlauf die nächste Ziffer unserer Zahl zu erfassen. Dieser Zugriff auf die einzelnen Ziffern ist entscheidend, weil die Quersumme einer Zahl gleich der Summe der einzelnen Ziffern ist! Beispielsweise ist die Quersumme der Zahl „137“ gleich „1 + 3 + 7 = 11“. Indes sieht unsere Schleife im Programm folgendermaßen aus:
„Ziffer“ ist in diesem Fall unsere frei wählbare Laufvariable, die automatisch ein String ist, da unsere Variable „Zahl“ zu diesem Datentyp gehört. Mit dem Befehl „for Ziffer in Zahl:“ wird nun fortlaufend ein einzelnes Zeichen der Zeichenkette „Zahl“ in der Laufvariable „Ziffer“ gespeichert und zwar solange, bis alle Zeichen erfasst wurden. Im Inneren unserer Schleife addieren wir dann die einzelnen Zeichen zur Variablen „Quersumme“, die wir ganz zu Beginn auf den Wert „0“ gesetzt haben.
Wenn Du aufmerksam gelesen hast, dann wirst Du feststellen, dass es noch ein weiteres Problem gibt! Die Variable „Quersumme“ ist ein Integer, wohingegen die Laufvariable „Ziffer“ ein String ist. Wir müssen unsere Laufvariable mit der „int“-Funktion in einen Integer umwandeln, weil die Addition von verschiedenen Datentypen zu Problemen führt. Mit dem Befehl „Quersumme += int(Ziffer)“ wird die Summe um die aktuelle Ziffer erhöht, sodass unsere gesuchte Lösung am Ende in der Variable „Quersumme“ gespeichert ist!
4. Ergebnis ausgeben
Schließlich wollen wir dem Benutzer unserer Anwendung die Quersumme als Ergebnis ausgeben. Zu diesem Zweck setzen wir die „print“-Funktion ein, da sie die Daten auf einfache Weise als Text ausgibt. Dein Code sieht jetzt so aus:
Hierbei ist „Die Quersumme lautet:“ ein frei gewählter String und in der mit einem Komma abgetrennten Variable „Quersumme“ ist unsere Lösung zudem als Integer gespeichert. Du bemerkst also, dass der Print-Befehl auch mit verschiedenen Datentypen umgehen kann. Im Folgenden siehst Du einen Screenshot unseres lauffähigen Programms:
Die in grün dargestellte Zahl „4671“ wurde vom Benutzer über seine Tastatur eingegeben. Wichtig ist, dass es sich hierbei um eine natürliche Zahl handelt, da die Quersumme in der Regel nur für diese Zahlenmenge definiert ist. Unser Programm wird zudem Probleme bekommen, wenn man z.B. eine Festkommazahl eingibt, weil es das Komma bzw. den Punkt nicht in einen Integer umwandeln kann. In der folgenden Tabelle siehst Du beispielhaft, welche Eingaben erlaubt sind und welche Werte zu Fehlermeldungen führen:
Tabelle 1: Beispiele für Benutzereingaben und ihre Ergebnisse
Benutzereingabe | Eingabe erlaubt? | Ergebnis |
159 | ja | Die Quersumme lautet: 15 |
6 | ja | Die Quersumme lautet: 6 |
-123 | nein | Fehlermeldung |
124.99 | nein | Fehlermeldung |
124,99 | nein | Fehlermeldung |
Pi | nein | Fehlermeldung |
In diesem Artikel haben wir Dir gezeigt, wie Du die Quersumme in Python in wenigen Schritten berechnen kannst. Der vorgestellte Code ist zwar sehr kompakt, allerdings wird zum Verständnis ein bestimmtes Vorwissen benötigt. Es ist ein gutes Beispiel dafür, wie effizient die Python Syntax ist. Wenn Du alles verstanden und vielleicht schon ein ähnliches Programm geschrieben hast, dann kannst Du sehr stolz auf Dich sein!
Literatur
Lo Iacono, Luigi/ Wiefling, Stephan/ Schneider, Michael (2020): Programmieren trainieren – Mit über 130 Workouts in Java und Python, E-Book.
Willemer, Arnold (2015): Linux-Server für Einsteiger – Mit Debian GNU/Linux und Ubuntu, E-Book.
FAQs – Quersumme in Python
Ja, man kann auch rein numerisch vorgehen und mithilfe einer Python while Schleife zum gewünschten Ergebnis gelangen (vgl. Lo Iacono/ Wiefling/ Schneider, 2020). Jedoch ist diese Methode für Anfänger weniger gut geeignet.
Sie können unter anderem zur Verschlüsselung von Nachrichten eingesetzt werden (vgl. Willemer, 2015). Auf welche Sicherheitsmaßnahmen Du im Netz sonst noch achten solltest, lernst Du übrigens in unserem Computerkurs.
Ja, man kann den Benutzer durch geeignete If-Abfragen per Textausgabe darauf hinweisen, dass er keine natürliche Zahl eingegeben hat und ihn bitten eine neue Zahl einzutippen.
Ja, man kann z.B. die Anzahl der eingegebenen Zeichen ermitteln und bei Überschreitung eines selbst gewählten Limits den Benutzer darauf hinweisen.
Nein, es gibt sowohl für Strings als auch für Integers kein festes Limit für die Größe der Zahlen. Das reale Maximum ergibt sich letztlich nur aus dem verfügbaren Speicherplatz und der Laufzeitgrenze.