Come leggere gli input dell'utente come interi in Python

  1. Leggere l’input dell’utente come numeri interi in Python 2.x
  2. Leggere l’input dell’utente come numeri interi in Python 3.x

In questo tutorial, impareremo a leggere gli input degli utenti come interi in Python.

Leggere l’input dell’utente come numeri interi in Python 2.x

Python 2.7 ha due funzioni per leggere l’input dell’utente, cioè raw_input e input.

raw_input legge l’input dell’utente come stringa grezza e il suo valore di ritorno è semplicemente string.

input riceve l’input dell’utente e poi valuta la stringa e il risultato della valutazione viene restituito.

Per esempio,

>>> number = raw_input("Enter a number: ")
Enter a number: 1 + 1
>>> number, type(number)
('1 + 1', <type 'str'>)

>>> number = input("Enter a number: ")
Enter a number: 1 + 1
>>> number, type(number)
(2, <type 'int'>)
Attenzione

Considerate due volte quando usate input in Python 2.x. Potrebbe imporre problemi di sicurezza perché input valuta qualsiasi tipo di utente.

Diciamo se avete già importato os nel vostro programma e poi chiede l’input dell’utente,

>>> number = input("Enter a number: ")
Enter a number: os.remove(*.*)

Il vostro input os.remove(*.*) viene valutato e cancella tutti i file del vostro dizionario di lavoro senza alcun preavviso!

Leggere l’input dell’utente come numeri interi in Python 3.x

raw_input è obsoleto in Python 3.x e viene sostituito con input in Python 3.x. Riceve solo la stringa di input dell’utente ma non valuta la stringa a causa del rischio per la sicurezza come descritto sopra.

Pertanto, si deve convertire esplicitamente l’input dell’utente dalla stringa in numeri interi.

>>> number = int(input("Enter a number: "))
Enter a number: 123
>>> number
123

Articolo correlato - Python Input

  • Attendi l'input in Python
  • Rileva la pressione dei tasti in Python