Bienvenido de nuevo.
Hagamos un pequeño ejercicio divertido, nos acaba de contratar una empresa de juegos y estamos creando este
juego de magos y este juego de magos tiene el mago en el perfil del usuario.
Y por ahora, lo configuraremos como falso.
También tenemos es.
Experto.
Y si este usuario es un experto en este juego, lo dejaremos así por ahora.
Y luego, hmm, hagamos esto aquí.
Quiero que compruebes si son ambos o si es mago.
Y experto.
Y si ese es el caso, si es cierto, entonces quiero que imprima que es un maestro mago y también quiero que
lo compruebe.
Si mago.
Pero no es un experto, si ese es el caso, solo quiero imprimir, al menos lo estás logrando.
Y finalmente, hagamos una comprobación que diga, si no eres un mago.
Quiero decir, mmm, bueno, necesitas poderes mágicos.
Ahora, quiero que uses lo que has aprendido sobre los operadores lógicos para crear esta lógica condicional, puedes pausar el
video si quieres y probarlo tú mismo en un Reppel.
De lo contrario, seguiré adelante con una respuesta.
Pero debería poder resolver esto con bastante facilidad si ha estado siguiendo los videos y ejercicios hasta
ahora.
Así que comencemos con el primero en el que decimos que eres un mago maestro, así que voy a decir si.
Es experto y es mago.
Voy a imprimir que eres un maestro mago, así que voy a copiar eso y decir imprimir.
Eres un mago maestro, nada demasiado loco aquí, y luego uno, voy a decir.
Si o incluso podría decir, bueno, si quiero y nuevamente, esto es algo que tú puedes
decidir lo que prefieras, generalmente me gusta usar l si es parte del mismo concepto que el primero en este caso.
Sí.
Todavía estamos tratando de averiguar qué tipo de usuario es.
Entonces usaremos Elif y diremos L si queremos verificar si es un mago.
Entonces eso es mago.
Así que vamos a comprobar si eso es cierto.
Pero también queremos comprobar.
Si bien, no es un experto ahora, ¿cómo lo hacemos?
Quiero decir, podríamos decir que usa Cortocircuito y decir que es experto e incluso si esto es falso.
Podemos pasar por aquí porque como mago, cortocircuito e imprime esta parte, Aleece, estás llegando.
Porque lo interesante aquí es que este bloque de código nunca se ejecutará si ambos son verdaderos, porque en la
primera mitad del bloque lo estamos verificando para que, tan pronto como sea cierto, ignoremos por completo la
L . F..
Entonces podríamos hacer eso.
Pero, mmm, esto es un poco difícil de leer porque realmente tengo que pensar en ello.
Si vuelvo al código o alguien más mira mi código, no está claro a
menos que comente que estoy verificando si es un mago pero no un experto, porque esto nunca se ejecutará.
Si un mago es falso, eso es lo que están buscando.
Sé que es un poco confuso incluso decirlo.
Entonces prefiero usar algo como esto usando y no.
Y eso se lee mucho mejor, ¿verdad?
Es que tiene mucho más sentido.
Oye, si esta persona es un experto y mago, haz esto.
De lo contrario, si esta persona es un mago y no un experto, imprima esto.
Eso se lee bastante bien.
Y sí, puede hacer esto porque recuerde, no como simplemente verificar e invertir, cualquiera que sea la expresión
booleana.
Entonces, esto todavía se evalúa como un booleano que y puede verificar.
Muy bien, terminemos el último, si no eres un mago, necesitas poderes mágicos.
Entonces, ¿cómo lo comprobamos aquí?
Bueno, podemos hacer otro él si y decir que no.
Mago.
Y si entro así y digo imprime y copiaremos aquí, necesitas poderes mágicos.
Y eliminemos los comentarios por ahora solo para que podamos ver los bloques de código.
Y vamos a probar nuestro programa, con suerte lo codificamos correctamente, con suerte no hay errores,
pero echemos un vistazo si ejecuto esto.
Necesitas poderes mágicos.
¿Porqué es eso?
Bien.
Si el mago es falso, ninguno de estos funcionará.
¿Qué pasa si cambio esto a verdadero y hago clic en ejecutar?
Muy bien, soy un mago maestro porque soy un experto además de mago.
¿Qué pasa si cambio esto a falso y hago clic en ejecutar?
Oye, al menos estás llegando.
Soy un mago, pero todavía no soy un experto, todavía necesito mejorar mi juego.
Ahora, es posible que hayas obtenido una respuesta diferente a la mía, y hay muchas formas de hacer esto, ¿verdad?
Podrías haber usado una declaración L que él podría haber usado o la lógica condicional se trata de escribir código que tenga
sentido no solo para ti, sino para otras personas que lean tu código.
La idea no es ser extremadamente inteligente o preocuparse realmente por lo corto.
Sí, puede ser más eficaz, pero una máquina es tan poderosa que, por lo general,
una pequeña optimización no vale la pena cuando se está perdiendo legibilidad.
Por lo tanto, debe asegurarse de que su código se lea como en inglés.
Y este es un tema que, francamente, a muchos programadores principiantes les cuesta entender dónde trataron de ser
lo más inteligentes posible, escribieron la menor cantidad de código posible en las líneas
más cortas posibles cuando, en cambio, quisieran enfocarse en la legibilidad, porque un código fácil de entender es señal de un
buen desarrollador.
Y espero que al mirar esto, estés pensando, sí, esto es bastante fácil.
Quiero decir, todo esto tiene sentido.
Pero esta no es la única forma.
Quizás mi versión de lo que se reproduce bien sea diferente a la tuya.
La idea es para cada uno de nosotros, hacer nuestro mejor esfuerzo para que nuestro código sea simple y agradable.
Y en programación, no hay una única respuesta correcta.
Hay muchas formas de resolver un problema, pero la clave es resolverlo de una manera sencilla y legible.
Espero que te diviertas y nos vemos en la próxima.