Comprobar si la entrada es un número entero en Python
-
Utilice la función
int()
para comprobar si la entrada es un número entero en Python -
Utilice el método
isnumeric()
para comprobar si la entrada es un número entero o no - Use las expresiones regulares para verificar si la entrada es un número entero en Python
En el mundo de la programación, trabajamos con mucha frecuencia con la entrada del usuario. Python tiene la función input()
disponible, que permite al usuario ingresar la entrada deseada. A veces, es posible que deseemos la entrada de un tipo específico.
Sin embargo, esta función convierte la entrada del usuario en una cadena antes de compilarla con el programa. Por lo tanto, no es simple usar los métodos tradicionales para verificar tipos específicos con la entrada del usuario, y tenemos que verificar si la cadena contiene números o no esencialmente.
En este tutorial, discutiremos cómo verificar si la entrada ingresada por el usuario es un tipo entero o no.
Utilice la función int()
para comprobar si la entrada es un número entero en Python
La función int()
puede convertir un valor entero de cadena dado en un tipo entero. Genera un error si el valor deseado no es un número entero y no se puede convertir. Podemos usar este método para verificar si la cadena del usuario es un número entero o no, como se muestra a continuación.
user_input = input("Enter the input ")
try:
int(user_input)
it_is = True
except ValueError:
it_is = False
print(it_is)
Producción :
Enter the input 15
True
Tenga en cuenta el uso del bloque try...except
en este método. Se usa con mucha frecuencia cuando se manejan excepciones en Python.
Utilice el método isnumeric()
para comprobar si la entrada es un número entero o no
El método isnumeric()
de la cadena devuelve True
si la cadena solo contiene números. Sin embargo, vale la pena señalar que falla con valores negativos. Esto se debe a que devuelve automáticamente False
cuando encuentra el signo -
en enteros negativos.
El siguiente código muestra cómo podemos usar esta función para verificar si una cadena contiene números enteros en Python.
user_input = input("Enter the input ")
print(user_input.isnumeric())
Producción :
Enter the input 10
True
También podemos usar la función isdigit()
en lugar de isnumeric()
; también tiene las mismas limitaciones que este método.
Use las expresiones regulares para verificar si la entrada es un número entero en Python
También podemos usar las expresiones regulares para crear un patrón que devuelva True
siempre que encuentre números enteros en una cadena. También podemos modificar el patrón para asegurarnos de que funcione con valores negativos. Por ejemplo,
import re
user_input = input("Enter the input ")
num_format = re.compile(r"^\-?[1-9][0-9]*$")
it_is = re.match(num_format, user_input)
if it_is:
print("True")
else:
print("False")
Producción :
Enter the input -15
True
A continuación se muestra la explicación del patrón de expresión regular - ^\-?[1-9][0-9]*$
.
^
es el comienzo de la cadena\-?
indica que este número puede ser negativo o positivo.[1-9]
es el primer dígito del número. Debe ser un número entre 1 y 9, pero no 0.[0-9]*
indica los siguientes dígitos. El número de dígitos puede ser cualquiera, incluido 0.$
es el final de la cadena.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArtículo relacionado - Python String
- Eliminar comas de cadena en Python
- Cómo comprobar si una cadena está vacía de forma ptónica
- Convertir una cadena en nombre de variable en Python
- Cómo eliminar los espacios en blanco de una cadena en Python
- Cómo extraer números de una cadena en Python
- Cómo convertir una cadena a datetime en Python