Zahl in ihre Ziffern zerlegen in Python?
Was ist die einfachste Variante um in Python die Ziffern einer Zahl, welche ich in einer Variable gespeichert habe, in einzelne Variablen zu speichern?
Beispiel:
a=147
b=1, c=4, d=7
3 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren, Python
Wenn es mit einer Liste geht, dann würde ich einfach folgendes machen.
a=147
liste = [int(i) for i in str(a)]
print(liste[0]) #gibt 1 als int
print(liste[1]) #gibt 4 als int
print(liste[2]) #gibt 7 als int
Woher ich das weiß:Studium / Ausbildung – Informatikstudent
quuux
13.12.2020, 14:55
@alfredo153
Oh, schick! So ähnlich, wie der Ansatz aus meiner Antwort, aber deiner ist schön elegant!
Das geht sehr einfach so:
num = 147
locals().update((chr(ord('a') + i), int(c)) for i, c in enumerate(str(num)))
print(a) # 1
print(b) # 4
print(c) # 7
Aber das ist mit Sicherheit nicht das, was du wirklich willst!
Befasse dich am besten damit, wie die Containertypen funktionieren, vor allem Listen. Dann wird sehr vieles sehr viel einfacher werden! ;)
Woher ich das weiß:Berufserfahrung
Du könntest so lange Modulo 10 berechnen, bis nur noch eine letzte Ziffer verbleibt.
Woher ich das weiß:Berufserfahrung
Muss auch keine Liste sein, obwohl eine Liste natürlich sinnvoll ist.