Controlla se l'input è intero in Python
-
Usa la funzione
int()
per verificare se l’input è un numero intero in Python -
Utilizzare il metodo
isnumeric()
per verificare se l’input è un numero intero o meno - Usa le espressioni regolari per verificare se l’input è un numero intero in Python
Nel mondo della programmazione, lavoriamo molto frequentemente con l’input dell’utente. Python ha la funzione input()
disponibile, che permette all’utente di inserire l’input desiderato. A volte potremmo volere l’input di un tipo specifico.
Tuttavia, questa funzione converte l’input dell’utente in una stringa prima di compilarlo con il programma. Pertanto, non è semplice utilizzare i metodi tradizionali per verificare tipi specifici con l’input dell’utente e dobbiamo verificare se la stringa contiene numeri o meno essenzialmente.
In questo tutorial, discuteremo come verificare se l’input immesso dall’utente è di tipo intero o meno.
Usa la funzione int()
per verificare se l’input è un numero intero in Python
La funzione int()
può convertire un dato valore intero di stringa in un tipo intero. Genera un errore se il valore desiderato non è un numero intero e non può essere convertito. Possiamo utilizzare questo metodo per verificare se la stringa dell’utente è un numero intero o meno, come mostrato di seguito.
user_input = input("Enter the input ")
try:
int(user_input)
it_is = True
except ValueError:
it_is = False
print(it_is)
Produzione:
Enter the input 15
True
Nota l’uso del blocco try...except
in questo metodo. Viene utilizzato molto frequentemente quando si gestiscono le eccezioni in Python.
Utilizzare il metodo isnumeric()
per verificare se l’input è un numero intero o meno
Il metodo isnumeric()
della stringa restituisce True
se la stringa contiene solo numeri. Tuttavia, vale la pena notare che fallisce con valori negativi. Questo perché restituisce automaticamente False
quando incontra il segno -
in numeri interi negativi.
Il codice seguente mostra come possiamo usare questa funzione per verificare se una stringa contiene numeri interi in Python.
user_input = input("Enter the input ")
print(user_input.isnumeric())
Produzione:
Enter the input 10
True
Possiamo anche usare la funzione isdigit()
al posto di isnumeric()
; ha anche le stesse limitazioni di questo metodo.
Usa le espressioni regolari per verificare se l’input è un numero intero in Python
Possiamo anche usare le espressioni regolari per creare un pattern che restituisce True
ogni volta che incontra numeri interi in una stringa. Possiamo anche modificare il pattern per assicurarci che funzioni per valori negativi. Per esempio,
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")
Produzione:
Enter the input -15
True
Di seguito è riportata la spiegazione del modello di espressione regolare - ^\-?[1-9][0-9]*$
.
^
è l’inizio della stringa\-?
indica che questo numero potrebbe essere negativo o positivo.[1-9]
è la prima cifra del numero. Deve essere un numero compreso tra 1 e 9, ma non 0.[0-9]*
indica le seguenti cifre. Il numero di cifre potrebbe essere qualsiasi, incluso 0.$
è la fine della stringa.
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.
LinkedInArticolo correlato - Python String
- Come controllare una stringa è vuota in modo pitonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3