Cómo leer la entrada del usuario como números enteros en Python

  1. Leer la entrada del usuario como números enteros en Python 2.x
  2. Lea las entradas del usuario como enteros en Python 3.x

En este tutorial, aprenderemos a leer las entradas del usuario como enteros en Python.

Leer la entrada del usuario como números enteros en Python 2.x

Python 2.7 tiene dos funciones para leer la entrada del usuario, que son raw_input y input.

raw_input lee la entrada del usuario como una cadena sin procesar y su valor de retorno es simplemente string.

La función input obtiene la entrada del usuario y luego evalúa la cadena y el resultado de la evaluación es devuelto.

Por ejemplo,

>>> 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'>)
Advertencia

Considere dos veces cuando use la input en Python 2.x. Podría imponer problemas de seguridad porque la input evalúa cualquier tipo de usuario.

Digamos que si ya has importado os en tu programa y luego te pide la entrada del usuario,

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

Su entrada os.remove(*.*) se evalúa y elimina todos los archivos de su diccionario de trabajo sin ningún aviso!

Lea las entradas del usuario como enteros en Python 3.x

La entrada raw_input es obsoleta en Python 3.x y es reemplazada por la entrada input en Python 3.x. Sólo obtiene la cadena de entrada del usuario pero no evalúa la cadena debido al riesgo de seguridad descrito anteriormente.

Por lo tanto, tiene que convertir explícitamente la entrada del usuario de la cadena a números enteros.

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

Artículo relacionado - Python Input

  • Ejecutar validación de entrada en Python
  • Cómo esperar la entrada en Python