Paga en 4 cuotas sin intereses de $52.25

Antes:$249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

18d

14h

25m

50s

1

cómo pedir confirmación para terminar un código y predecir el futuro 🐱‍👤🔮🔓

Puede que alguna vez te encuentres con un desafiante código donde necesites pedirle una confirmación al usuario para poder terminar cierta tarea, pero ¿Sabes cómo hacerlo?.

No te preocupes en este tutorial vamos a aprender cómo hacerlo, así que vamos a ello.

  • Para comenzar, necesitamos establecer 3 variables que necesitamos como referencia dentro del código:
Captura de pantalla 2024-01-21 122241.png

Fíjate que la variable options solo tiene dos valores “YES” y “NOT” y que además es una tupla. Esto lo hacemos con el fin de que el código solo pueda tener dos variables al momento de preguntar la confirmación.

La variable _counter _la definimos en 0 porque después vamos a imprimir un contador y la tercer variable que es continue_playing es para obtener una segunda confirmación al momento de detener el código.

Estas tres variables son la base de nuestro código, van a ser la estructura para que el código pueda funcionar correctamente y se detenga cuando queramos. Continuemos ahora si con el código que va a interactuar con el usuario.

  • En este momento utilizaremos la variable counter definida anteriormente. Podemos por ejemplo, poner un contador que llegue hasta el número 20 y que se detenga justo ahí, además utilizaremos también la variable continue_playing para activar la segunda confirmación.

Te debería quedar así.

Captura de pantalla 2024-01-21 124014.png

Esto quiere decir que mientras (while) counter sea menor a 10 y continue_playing sea (True), counter se sumara 1 así mismo e imprimira su valor.
Muy bien, ahora es momento de pedir la confirmación del usuario, para ello hay que definir el momento en el que quieres que se pida la confirmación por ejemplo la podemos pedir justo en la mitad de la ejecución del código.

  • Para ello haremos uso de las condicionales. Lo primero que debemos hacer es definir que cuanto counter llegue exactamente a 10 nos pida confirmar si queremos continuar. En este momento el usuario escribira su elección y el programa la ejecutara. Si el usuario escribe YES el programa seguirá, pero si el usuario escribe NOT el programa se detendrá.

como queremos que el usuario pueda interactuar con nuestro código necesitamos establecer una variable (decision) que guarde el valor que digitara el usuario y para ello haremos uso del input. Sin embargo, las opciones que el programa reconocera son explicitamente “YES” y “NOT” exactamente en mayusculas. Esto puede suponer un problema ya que el usuario puede escribir “yes” o "not"pero al estar en minusculas el código no lo va a relacionar con sus opciones y por ende nuestro código no funcionara.

para corregir esto necesitamos hacer uso de una función que pase ese valor introducido por el usuario a mayusculas la cual es .upper().

EL código debería quedarte así:

Captura de pantalla 2024-01-21 130539.png

Esto lo podemos traducir en que si counter es igual a 10 se dentendra el contador y nos preguntara si queremos continuar, a lo que dejara a libre elección del usuario por medio de un input, sin embargo. Para evitar que errores simples como que el usuario escriba “yes” en vez de “YES” hicimos uso de la función .upper() para convertir ese “yes” a un “YES”, la cual se establece de la siguiente manera decision.upper().

Ok, ya tienes un gran avance en el código y puedes parar el contador para que el usuario pueda escoger si quiere continuar o si por el contrario desea parar. Sin embargo, todavia el programa no puede iterar la respuesta del usuario porque no le hemos dicho que hacer con ese valor. Vamos a definirlo haciendo uso de las condicionales, así que vamos a ello.

  • Sabemos que el programa nos pide una verificación y que ahora el usuario necesita hacer su elección que solo tiene dos resultados posibles, entonces si el usuario decide continuar y escribe “YES” lo que queremos es que counter siga su recorrido y termine en el numero especificado que en este caso fue 20. Pero si el usuario no quiere continuar y escribe “NOT” lo que queremos es que counter se detenga, no imprima ningun valor en pantalla y en su lugar se muestre un mensaje que de a entender que ya finalizo el programa.

Esta interpretación quedaria tal que así:

Captura de pantalla 2024-01-21 131913.png

ya sabes, si decision es igual a “YES” counter seguira de forma normal y parara hasta el ultimo valor especificado. ahora, si decision es igual a “NOT” counter para e imprime “Thanks for playing” dando a entender que el programa a terminado de ejecutarse y establecemos continue_playing como False para tener una segunda confirmación y que el progrma pare definitivamente. (Acuerdate que al principio del codigo definimos que mientras counter sea menor a 20 y continue_playing sea True el programa se ejecutara)

Sin embargo el usuario puede escribir una opción que no sea ni “YES” ni “NOT”. Pero no te preocupes con este código vamos a ir un paso delante.

  • Lo que necesitamos ahora es que si el usuario no escribe ninguna opción valida (“YES” o “NOT”) el código no pare, sino que en lugar de eso queremos que siga funcionando y para ello podríamos volver a preguntar hasta que obtengamos alguna de las dos respuestas validas.

Esto lo podemos hacer siguiendo la lógica de las condicionales que hemos utilizado, acuérdate que ya establecimos un if y un elif con un posible resultado pero si el resultado no cumple en ningún caso utilizaremos else y como queremos que este else solo funcione cuando la decisión que tomo el usuario no este dentro de las opciones validas, podemos definir exactamente que mientras decision no este en options el programa pregunte infinitamente hasta obtener “YES” o “NOT”

El código nos debe quedar así:

Captura de pantalla 2024-01-21 133601.png

Bien, ya casi terminas el código solo una pequeña pregunta: ¿Si el usuario en primer lugar no introduce una respuesta valida y cuando el programa le pregunta de nuevo y el contesta ahora con una repuesta valida , quieres que el programa siga preguntando infinitamente?
No cierto. Eso es lo que es capaz de hacer nuestro código por el momento, así que vamos a escribir unas líneas de código más que nos permitan interactuar con esta respuesta del usuario.

  • Acuérdate que las opciones validas no han cambiado siguen siendo “YES” y “NOT” y que si el usuario escribe una opción no valida el programa volverá a preguntar hasta obtener una opción con la que pueda continuar, sin embargo en estos momento nuestro código solo llega hasta repetir la pregunta de forma infinita y no es capaz de iterar una opción valida. Para ello establecemos un if y un elif como lo hicimos en el paso 4. Donde, si decision es igual a “YES” counter sigue hasta el número máximo y si por el contrario decision = “NOT” counter para, imprime el texto que da a entender que el programa ha parado y además establece la variable continue_playing como False para confirmar por segunda vez que el programa paro.

Veamos el código.

Captura de pantalla 2024-01-21 134720.png

En este paso usamos la misma lógica que en el paso numero 4, pero tenemos que ir un paso delante del usuario. En este momento nuestro programa es capaz de escribir los números del 1 al 20 pidiendo una confirmación justo en la mitad, es capaz de iterar una opción valida en primer lugar. Saber cuando la opción no es valida para volver a preguntar hasta obtener una opción valida e iterar esa respuesta obtenida a partir de la segunda pregunta.

Pero que pasa si el usuario decide continuar al momento de confirmar, el programa continuara hasta el 20 y se detendrá. Sin embargo, una mejor idea es hacer que counter llegue hasta el máximo valor establecido por nosotros y que de igual forma nos arroje un texto que nos indique que el programa ya paro.

  • En este ultimo paso lo que haremos es cerrar las jerarquías de las condicionales, acuerdate que empezamos con un if donde establecimos que si counter llega a 10, le pregunta al usuario si desea continuar. Si la respuesta es si counter se imprimira hasta el máximo y para que nos arroje un texto lo podemos hacer mediante un elif donde establecemos que si counter es igual a 20 imprima nuestro texto.

Mira cómo debe quedar:

Captura de pantalla 2024-01-21 135817.png

Este ultimo paso es mucho más claro con una vista completa del código, así que mira el código completo:

Captura de pantalla 2024-01-21 135957.png

Felicitaciones, Has llegado al final de este tutorial. Espero te haya sido de gran ayuda, Ahora puedes pedir una confirmación al usuario antes de completar una actividad especifica siendo capaz de predecir sus posibles respuestas. Sin embargo, queda mucho camino por recorrer. Así que recuerda: NUNCA PARES DE APRENDER. Buena suerte en tus próximos proyectos c:

Escribe tu comentario
+ 2