Zahl in ihre Ziffern zerlegen in Python?

3 Antworten

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
alfredo153  13.12.2020, 14:30

Muss auch keine Liste sein, obwohl eine Liste natürlich sinnvoll ist.

a = 1475
b, c, d, *rest = (int(i) for i in str(a))
2
quuux  13.12.2020, 14:55
@alfredo153

Oh, schick! So ähnlich, wie der Ansatz aus meiner Antwort, aber deiner ist schön elegant!

0

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