Verifique se a entrada é inteira em Python
-
Use a função
int()
para verificar se a entrada é um número inteiro em Python -
Use o método
isnumeric()
para verificar se a entrada é um inteiro ou não - Use as expressões regulares para verificar se a entrada é um número inteiro em Python
No mundo da programação, trabalhamos muito frequentemente com a entrada do usuário. Python tem a função input()
disponível, que permite ao usuário inserir a entrada desejada. Às vezes, podemos querer a entrada de um tipo específico.
No entanto, essa função converte a entrada do usuário em uma string antes de compilá-la com o programa. Portanto, não é simples usar os métodos tradicionais para verificar tipos específicos com a entrada do usuário, e temos que verificar se a string contém números ou não essencialmente.
Neste tutorial, discutiremos como verificar se a entrada inserida pelo usuário é do tipo inteiro ou não.
Use a função int()
para verificar se a entrada é um número inteiro em Python
A função int()
pode converter um determinado valor inteiro de string em um tipo inteiro. Ele gera um erro se o valor desejado não for um inteiro e não puder ser convertido. Podemos usar este método para verificar se a string do usuário é um inteiro ou não, conforme mostrado abaixo.
user_input = input("Enter the input ")
try:
int(user_input)
it_is = True
except ValueError:
it_is = False
print(it_is)
Resultado:
Enter the input 15
True
Observe o uso do bloco try...except
neste método. É usado com muita frequência ao lidar com exceções em Python.
Use o método isnumeric()
para verificar se a entrada é um inteiro ou não
O método isnumeric()
da string retorna True
se a string contém apenas números. No entanto, é importante notar que falha com valores negativos. Isso ocorre porque ele retorna automaticamente False
quando encontra o sinal -
em inteiros negativos.
O código a seguir mostra como podemos usar esta função para verificar se uma string contém inteiros em Python.
user_input = input("Enter the input ")
print(user_input.isnumeric())
Resultado:
Enter the input 10
True
Também podemos usar a função isdigit()
no lugar de isnumeric()
; ele também tem as mesmas limitações deste método.
Use as expressões regulares para verificar se a entrada é um número inteiro em Python
Também podemos usar as expressões regulares para criar um padrão que retorna True
sempre que encontra inteiros em uma string. Também podemos modificar o padrão para garantir que funcione com valores negativos. Por exemplo,
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")
Resultado:
Enter the input -15
True
Abaixo está a explicação do padrão de expressão regular - ^\-?[1-9][0-9]*$
.
^
é o início da string\-?
indica que esse número pode ser negativo ou positivo.[1-9]
é o primeiro dígito do número. Deve ser um número entre 1 e 9, mas não 0.[0-9]*
indica os seguintes dígitos. O número de dígitos pode ser qualquer um, incluindo 0.$
é o fim da string.
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.
LinkedInArtigo relacionado - Python String
- Remover vírgulas da string em Python
- Como verificar se uma string está vazia de uma forma pythonica
- Converter uma string em nome de variável em Python
- Como remover espaços em branco numa string em Python
- Números extraídos de uma string em Python
- Como converter string para data em Python