En este post te muestro cómo usar do while en Python. Te aviso que, así como switch y case, no existe do while en Python, pero podemos simularlo con un ciclo infinito y break
.
Simular do while en Python
Supongamos que para este ejemplo sencillo queremos hacer que un contador aumente mientras sea menor o igual a 5. En español sería:
hacer: aumentar contador, mientras que contador sea menor o igual a 5.
En un lenguaje que sí tiene do while (por ejemplo, C) sería así:
#include<stdio.h>
int main(){
int contador = 0;
do{
printf("%d\n", contador);
contador++;
}while(contador <= 5);
}
En Python el equivalente sería:
# parzibyte.me/blog
contador = 0
while True:
print(contador)
contador += 1
if contador > 5:
break
Lo que tenemos que hacer con Python es hacer un ciclo infinito y dentro del mismo invertir la condición, ya que la condición es mientras sea <= 5
, pero podemos invertir la condición haciendo que si es > 5
se rompa.
En caso de que la condición se cumpla entonces terminamos el ciclo usando break
.
Otra opción es tomar la expresión original pero negarla. Por ejemplo, la condición es que mientras sea <= 5
así que podemos ponerla así, pero negarla:
# parzibyte.me/blog
contador = 0
while True:
print(contador)
contador += 1
if not (contador <= 5):
break
Usamos not
para negar la expresión; esto se hace por si la condición es muy larga o compleja que no podríamos negarla y queremos dejar el trabajo a la computadora.
Conclusión
En resumen hacemos un ciclo infinito que se rompe cuando se cumple el inverso de la condición. Tal vez si lo analizas bien no necesites do while y puedas solucionarlo con un if y un simple while.