Este código utiliza un bucle while
para dividir el número repetidamente por 10 y contar cuántas veces es posible dividirlo antes de que sea menor o igual a cero. Esto equivale al número de dígitos en el número original. Además, se maneja el caso especial en el que el número es 0, ya que tiene un solo dígito.
numero = int(input("Ingrese un número entero: "))
num_digitos = 0
if numero == 0:
num_digitos = 1
else:
numero = abs(numero)
while numero > 0:
numero //= 10
num_digitos += 1
print(f"El número tiene {num_digitos} dígitos.")
Versión simplificada:
numero = int(input("Ingrese un número entero: "))
num_digitos = len(str(abs(numero)))
print(f"El número {numero} tiene {num_digitos} dígitos.")
Pueder ir al artículo principal:
Códigos Sencillos hechos en Python