Python verifique se o caractere é o número

Python verifique se o caractere é o número

Muitas vezes chega um momento em que o desenvolvedor precisa verificar se o personagem inserido pelo usuário é um número. Em Python, o usuário pode fazer isso de várias maneiras, que incluem o uso de simples “declarações if-else”, ASCII equivalentes em if-else, o isdigit () método e o Isnumeric () método.

Esta postagem servirá como um guia do usuário para verificar um personagem contra números.

Método 1: Usando declarações if-else

Começando com a abordagem mais básica, o usuário pode simplesmente usar as declarações condicionais if-else para verificar contra o caractere "0" para o personagem "9". Para explicar melhor esse método, vamos dar o seguinte exemplo abaixo:

Charvar = '2'
if (charvar> = '0' e charvar <='9'):
print ("É um número")
outro:
impressão ("Não é um número")


Neste snippet de código acima:

    • Uma variável de caractere é inicializada com o personagem '2'.
    • Se a declaração for usada para verificar se o personagem estiver entre 0 e 9.
    • Se o resultado for verdadeiro, ele imprime que é realmente um número.
    • Caso contrário, não é um número.

Quando o código acima é executado, ele produz o seguinte resultado:


Da saída, pode -se ver claramente que o resultado está realmente correto. No entanto, vamos mudar o valor do Charvar Para algo que não é um número como:

charvar = 'm'


Desta vez, quando o código é executado, produz o seguinte resultado:


A saída verifica que o personagem 'm' não é um número.

Método 2: Usando códigos ASCII no if-else

Uma alternativa à comparação de string/caractere nas declarações condicionais IF-Else deve usar a comparação de código ASCII em declarações IF-ELSE. No entanto, para obter o código ASCII de um personagem em Python, o “ord ()”O método é usado. E então, para comparação, você precisa compará -lo com os valores de “48" e "57”. Para mostrar o funcionamento deste método, pegue o seguinte código:

Charvar = '7'
if (ord (charvar)> = 48 e ord (charvar) <=57):
print ("É um número")
outro:
impressão ("Não é um número")


No código acima:

    • Uma variável de caractere “Charvar” é inicializada com o valor '7'.
    • Dentro das declarações IF, o método ord () é usado para obter o código ASCII do valor de Charvar.
    • O ASCII é comparado com os valores de 48 a 57 que representam o número 0 a 9.
    • O resultado é impresso de acordo com o resultado da declaração IF.

Quando o código acima for executado, ele produzirá o seguinte resultado no terminal:


Após essas declarações if-else, o usuário também pode usar o método interno, que será coberto a seguir.

Método 3: Usando o método iSdigit ()

O método iSdigit () pode ser aplicado a uma string ou uma variável de caractere com a ajuda de um operador de ponto e retornará “verdadeiro" ou "falso”, Dependendo se o personagem é um número ou não. Para este método, basta pegar o código abaixo:

Charvar = '7'
Imprimir (Charvar.isdigit ())


Quando este código é executado, ele produz o seguinte resultado no terminal:


Isso significa que o charvar é realmente um número. No entanto, anote a limitação do método iSdigit () que ele não pode ser usado para deduzir inteiros negativos.

Método 4: Usando o método isnumeric ()

Com trabalho muito semelhante a Isdigit (), o método isnumeric () pode ser usado para verificar se um caractere dentro de uma variável é um número ou não. Ao contrário do método iSdigit (), o método isnumeric () também pode ser usado para detectar valores de número inteiro negativo. Para testar o funcionamento do método isnumeric (), basta usar o seguinte código:

Charvar = '4'
Imprimir (Charvar.isnumeric ())


O código produzirá o seguinte resultado:


O resultado verifica que um personagem é realmente um número.

Método de bônus: Usando o tipo de fundição e manuseio de erros

Quando uma conversão do tipo inválida é feita, o programa é um erro e trava. O acidente pode ser evitado usando o manuseio de erros dentro do “Try-CatchBlocks. Para usar essa abordagem, use o seguinte código:

new_str = '1'
tentar:
int (new_str)
print ("É um número")
Exceto ValueError:
impressão ("Não é um número")


Neste snippet de código curto:

    • A variável da string é convertida em um número inteiro usando o método "int ()".
    • Se a conversão for bem -sucedida, o programa leva ao usuário que o personagem era um número inteiro.
    • Caso contrário, imprime que o personagem não é um número.

Quando este código for executado, ele produzirá o seguinte resultado no terminal:


Isso se tratava de verificar se um personagem é um número ou não em Python.

Conclusão

O usuário pode verificar facilmente se um caractere é ou não um número ou não usando declarações condicionais if-else, métodos internos e tipo de fundição com uma técnica de manuseio de erros. Para as declarações condicionais if-else, basta usar a condição para verificar os caracteres 0 a 9 ou seu código ASCII. Para os métodos internos, basta aplicá-los à variável do personagem usando um operador de ponto.