Python Controlla se il carattere è numero

Python Controlla se il carattere è numero

Viene spesso un momento in cui lo sviluppatore deve verificare se il carattere inserito dall'utente è un numero. In Python, l'utente può farlo in più modi, che include l'uso del semplice "dichiarazioni If-Else", Equivalenti ASCII in if-else, il isdigit () metodo e il isNumeric () metodo.

Questo post fungerà da guida per l'utente per controllare un carattere contro i numeri.

Metodo 1: utilizzando le istruzioni IF-ELSE

Iniziando con l'approccio più semplice, l'utente può semplicemente utilizzare le istruzioni condizionali IF-ELSE per verificare il carattere "0" al carattere "9". Per spiegare meglio questo metodo, prendiamo il seguente esempio di seguito:

charvar = '2'
if (charvar> = '0' e charvar <='9'):
stampa ("è un numero")
altro:
stampa ("non è un numero")


In questo frammento di codice sopra:

    • Una variabile di carattere viene inizializzata con il carattere '2'.
    • Se l'istruzione viene utilizzata per verificare se il carattere è compreso tra 0 e 9.
    • Se il risultato è vero, allora stampa che è davvero un numero.
    • Altrimenti, non è un numero.

Quando viene eseguito il codice sopra, produce il seguente risultato:


Dall'output, si può vedere chiaramente che il risultato è davvero corretto. Tuttavia, cambiamo il valore del charvar a qualcosa che non è un numero come:

charvar = 'm'


Questa volta, quando viene eseguito il codice, produce il seguente risultato:


L'output verifica che il carattere 'm' non sia un numero.

Metodo 2: utilizzando i codici ASCII in if-else

Un'alternativa al confronto stringa/caratteri nelle istruzioni condizionali IF-ELSE consiste nell'utilizzare il confronto del codice ASCII nelle istruzioni IF-ELSE. Tuttavia, per ottenere il codice ASCII di un personaggio in Python, il "ord ()"Viene utilizzato il metodo. E poi per il confronto, è necessario confrontarlo con i valori da "48" E "57". Per mostrare il funzionamento di questo metodo, prendi il seguente codice:

charvar = '7'
if (ord (charvar)> = 48 e ord (charvar) <=57):
stampa ("è un numero")
altro:
stampa ("non è un numero")


Nel codice sopra:

    • Una variabile di carattere "charvar" è inizializzata con il valore "7".
    • All'interno del metodo IF IF Il metodo Ord () viene utilizzato per ottenere il codice ASCII del valore di charvar.
    • L'ASCII viene confrontato con i valori da 48 a 57 che rappresentano il numero 0 a 9.
    • Il risultato viene stampato in base al risultato dell'istruzione IF.

Quando viene eseguito il codice sopra, produrrà il seguente risultato sul terminale:


Dopo queste istruzioni IF-Else, l'utente può anche utilizzare il metodo integrato, che verrà coperto successivo.

Metodo 3: usando il metodo isdigit ()

Il metodo isdigit () può essere applicato a una stringa o una variabile di carattere con l'aiuto di un operatore DOT e tornerà "VERO" O "falso", A seconda che il personaggio sia un numero o no. Per questo metodo, prendi semplicemente il codice di seguito:

charvar = '7'
Stampa (charvar.isdigit ())


Quando questo codice viene eseguito, produce il seguente risultato sul terminale:


Ciò significa che il charvar è davvero un numero. Tuttavia, prendi nota della limitazione del metodo isdigit () che non può essere utilizzato per detrarre numeri interi negativi.

Metodo 4: usando il metodo isNumeric ()

Con un lavoro molto simile a isdigit (), il metodo isNumeric () può essere utilizzato per verificare se un carattere all'interno di una variabile è un numero o meno. A differenza del metodo isdigit (), il metodo isNumeric () può anche essere utilizzato per rilevare valori interi negativi. Per testare il funzionamento del metodo isNumeric (), utilizzare semplicemente il seguente codice:

charvar = '4'
Stampa (charvar.isNumeric ())


Il codice produrrà il seguente risultato:


Il risultato verifica che un personaggio sia effettivamente un numero.

Metodo bonus: utilizzando il casting di tipo e la gestione degli errori

Quando viene effettuata una conversione di tipo non valido, il programma si imbatte in un errore e si blocca. L'incidente può essere evitato utilizzando la gestione degli errori all'interno del "prova a prendere"Blocchi. Per utilizzare questo approccio, utilizzare il seguente codice:

new_str = '1'
Tentativo:
int (new_str)
stampa ("è un numero")
Tranne ValueRror:
stampa ("non è un numero")


In questo breve frammento di codice:

    • La variabile stringa viene convertita in un numero intero usando il metodo "int ()".
    • Se la conversione ha esito positivo, il programma richiede all'utente che il personaggio era un numero intero.
    • Altrimenti, stampa che il personaggio non è un numero.

Quando questo codice viene eseguito, produrrà il seguente risultato sul terminale:


Si trattava di verificare se un personaggio è un numero o meno in Python.

Conclusione

L'utente può facilmente verificare se un carattere è o meno un numero utilizzando le istruzioni condizionali IF-ELSE, i metodi integrati e la fusione del tipo con una tecnica di gestione degli errori. Per le istruzioni condizionali IF-ELSE, utilizzare semplicemente la condizione per verificare i caratteri da 0 a 9 o il loro codice ASCII. Per i metodi integrati, applicali semplicemente alla variabile del carattere utilizzando un operatore DOT.