Entrada de usuario de bucle while de Python

Muhammad Maisam Abbas 8 octubre 2023
  1. Entrada de usuario dentro de un bucle while en Python3
  2. Entrada de usuario dentro de un bucle while en Python2
Entrada de usuario de bucle while de Python

Este tutorial discutirá los métodos para obtener entradas de múltiples usuarios hasta que cierta condición se cumpla en Python.

Entrada de usuario dentro de un bucle while en Python3

Si queremos seguir solicitando información al usuario hasta que ingrese el valor requerido, podemos usar la función input() dentro de un bucle while.

En programación, hay dos tipos de bucles, controlados por contadores y controlados por centinelas. En los bucles controlados por contador, especificamos el número de veces que queremos ejecutar el bucle, mientras que en los bucles controlados por centinela, especificamos una condición que debe contener "true" para que se ejecute el bucle.

El bucle for es un bucle controlado por contador, lo que significa que tenemos que especificar cuántas veces se ejecutará el bucle antes de su ejecución.

El bucle while es un bucle controlado por centinela, lo que significa que seguirá ejecutándose hasta que se cumpla una determinada condición.

Para hacer esto, tenemos que inicializar nuestra variable fuera del ciclo. El siguiente fragmento de código demuestra cómo podemos usar una función input() dentro de un ciclo while.

Código de ejemplo:

name = "not maisam"
while name != "maisam":
    name = input("please enter your name: ")
print("you guessed it right")

Producción :

please enter your name: 123
please enter your name: abc
please enter your name: maisam
you guessed it right

El código en la sección anterior seguirá pidiéndole al usuario que ingrese datos hasta que el usuario ingrese maisam.

Entrada de usuario dentro de un bucle while en Python2

Desafortunadamente, la solución mencionada anteriormente falla en python2.

Para esto, tenemos que reemplazar nuestra función input() con la función raw_input(). Toma la entrada del usuario y devuelve el resultado eliminando el último \n de la entrada.

Esta [función raw_input()](raw_input — Python Reference (The Right Way) 0.1 documentación) en python2 es equivalente a la función input() en python3. El siguiente ejemplo de código muestra cómo podemos usar una función raw_input() dentro de un bucle while.

Código de ejemplo:

name = "not maisam"
while name != "maisam":
    name = raw_input("please enter your name: ")
print "you guessed it right"

Producción :

please enter your name: 123
please enter your name: abc
please enter your name: maisam
you guessed it right

El código en la sección anterior funciona de la misma manera que el ejemplo anterior y seguirá pidiéndole al usuario que ingrese datos hasta que el usuario ingrese maisam.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artículo relacionado - Python Loop