Python | Ziffern einer Zahl zerlegen

1 Antwort

Du kannst eine Zahl in einen String umwandeln über die Funktion str.

Ein String kann in eine Liste konvertiert werden über list, dessen Inhalt sind die einzelnen Ziffern.

print(list(str(-123)))  # ['-', '1', '2', '3']

Die Klasse String erbt von Iterator, eine Instanz dessen lässt sich also auch in einer generischen Schleife verwenden um dessen Bestandteile durchzugehen.

print([i for i in str(-123)])   # ['-', '1', '2', '3']

Somit können die Ziffern weiter behandelt werden, wie z.B. in Zahlen umgewandelt werden, allerdings muss bei einer negativen Ursprungszahl das Minuszeichen ausgeschlossen werden.

print(['-' if i == '-' else int(i) for i in str(-123)]) # ['-', 1, 2, 3]

Dieses Filterverfahren lässt sich noch weiter verfeinern.

Ebenso kann auch einfach die Zahl in ihre 10er Reste zerlegen, um die aufwändige String-Konvertierung zu umgehen.

Wobei zu bemerken ist, dass die aufwändige Stringkonvertierung genau die Reste berechnen wird ;-)

0
@W00dp3ckr

Sie macht noch weit mehr, denn sie behandelt auch den Fall der Fließkommazahlen, legt eine String-Instanz mit allen drum&dran an und prüft auf mögliche Fehler.

Eine unsichere, minimale Eigenimplementierung ist deutlich schneller, da allerdings die Sprache Python gewählt wurde, wird dem Fragesteller Performance ohnehin wenig interessieren.

0

Auto Kennzeichen mit 3 Ziffern?

Ich habe gerade ein Jeep mit einem Kennzeichen gesehen, welches nur 3 Ziffern (222) beinhaltet. Ist das villeicht für jemanden "besonderes" wie z.B. Politiker oder so? Oder warum hat der Jeep nur 3 Ziffern?

...zur Frage

Python überprüfen ob zahl oder nicht

Hey wie kann ich überprüfen, ob bei raw_input eine Zahl eingegeben wurde oder ein anderes zeichen?

...zur Frage

Java int-Zahl in Ziffern zerlegen?

Die Aufgabe im Bild ist zu lösen. Die Quersumme wird in dem Programm bereits berechnet soweit also kein Problem. Da ich jedoch noch nicht viel Ahnung von Java hab stellen sich mir jetzt 2 Probleme:

  1. Kann man beim Scanner einen bestimmten Zahlenbereich (wie in der Aufgabe) festlegen?
  2. Wie zerlege ich den eingegebenen Wert in die einzelnen Ziffern damit ich ihn wie in der Aufgabenbeschreibung ausgeben kann?

Ich hab zu 1. nichts im Internet gefunden und zu 2. viel aber das hat alles nicht richtig funktioniert und verstanden habe ich es auch nicht gibt es da eine ganz simple Möglichkeit?

...zur Frage

Wie erstellt man in Python eine Liste ,die bei der Ausgabe keine Anführungszeichen und eckigen Klammern hat?

...zur Frage

python: Liste in Teillisten an bestimmten Punkten aufteilen

Hallo. Ich habe eine Liste mit Zahlen und Punkten und Buchstaben. Jetzt würde ich gern die Liste in Teillisten aufteilen. Dazu soll das Programm so Teillisten bilden, sodass alle Elemente vor einem Punkt bis zu einer Zahl zu einer Teilliste zusammengefasst werden. Wie geht das?

...zur Frage

Wie kann ich in Python erkennen, ob eine Zahl eine Kommazahl ist?

...zur Frage

Was möchtest Du wissen?