separador separacion miles consultas python

python - separacion - Cómo verificar el último dígito del número



separacion de miles python (5)

¿Hay alguna manera de obtener el último dígito de un número? Estoy tratando de encontrar variables que terminen con "1" como 1,11,21,31,41, etc.

Si utilizo una variable de texto simplemente puedo poner

print number[:-1]

pero funciona con variables con texto (como "hola) pero no con números. Con números me sale este error:

TypeError: ''int'' object is not subscriptable

Estoy tratando de ver si hay una mejor manera de lidiar con los números de esta manera. Sé que una solución es convertir a una cadena y luego hacer el comando anterior, pero estoy tratando de ver si hay alguna otra forma en la que haya pasado por alto.

Muchas gracias de antemano...


Al utilizar la iteración y la función incorporada de "dígito", el número se trata como binario y, por lo tanto, va de un lado a otro. Aquí hay un ejemplo de un poco de código para ti.

for digit in binary: denary= denary*2 + int(digit)


Así que quieres acceder a los dígitos en un entero como elementos en una lista; La forma más fácil que puedo pensar es:

n = 56789 lastdigit = int(repr(n)[-1]) # > 9

Convierta n en una cadena, acceda al último elemento y luego use el constructor int para volver a convertirlo en entero.

Para un número de punto flotante:

n = 179.123 fstr = repr(n) signif_digits, fract_digits = fstr.split(''.'') # > [''179'', ''123''] signif_lastdigit = int(signif_digits[-1]) # > 9


El resto al dividir por 10, como en

numericVariable % 10

Esto solo funciona para números positivos. -12% 10 rendimientos 8


No puedo agregar un comentario todavía, pero quería iterar y ampliar lo que dijo Jim Garrison

Resto al dividir por 10, como en numéricoVariable% 10

Esto solo funciona para números positivos. -12% 10 rendimientos 8

Mientras el módulo (%) funciona según lo previsto, arroje un valor absoluto para usar el módulo en esta situación.

abs(numericVariable) % 10


Utilice el operador de módulo con 10:

num = 11 if num % 10 == 1: print ''Whee!''

Esto da el resto cuando se divide por 10, que siempre será el último dígito (cuando el número es positivo).