Länge einer INT zahl in Python ermitteln?

5 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Bestimme den Logaritmus der Zahl zur Basis 10 und runde auf die nächsthöhere ganze Zahl auf.

int = 123
laenge = len(str(int))
int += 1
print(str(int) + " hat eine Länge von " + str(laenge))

Da bei wird nur temporär in einen String konvertiert aber int bleibt als int erhalten ;-)

Ausgabe des Programms:

124 hat eine Länge von 3
Woher ich das weiß:Berufserfahrung – Softwareentwickler f. Web, Win. & Linux (seit 2001)

Warum bekommst Du beim weiteren Algorithmus Probleme?

Die Variante mit Log10 wurde Dir schon gezeigt, Du kannst es auch durch sukezessive Multiplikation austesten. Und DU kannst im Prinzip auch das Verfahren, daß für die Erzeugung des Strings verwendet wird nutzen (Wiederholte Ganzzahldivisionen durch 10).

Was stört Dich denn an den verfügbaren Ansätzen?

Da brauchst du erstmal kein Python sondern Mathematik.

Angenommen die Zahl 123. Wie kannst du diese als Zehnerpotenz darstellen?

int(math.log(10000000, 10) + 1)

Aus dem Kopf heraus