Curso de Raku / Esenciales / Controles condicionales / Comparación de cadenas

Quiz 2 — la condición en if*

Corrige el programa y responde la pregunta.

. my $password = prompt ‘Introduce tu contraseña: ‘;
.  
eq = if $password ␣␣ ‘*&(#&$#Y’ {
.     say ‘Correcto’;
. }
. else {
.     say ‘Incorrecto’;
. }

Con el = en la prueba, ¿qué hace este programa?

Siempre imprime ‘Correcto’ Tu respuesta:  (: Siempre imprime ‘Correcto’, Siempre imprime ‘Incorrecto’, Imprime ‘Correcto’ para contraseñas correctas e ‘Incorrecto’ para incorrectas, Imprime ‘Incorrecto’ para contraseñas correctas y ‘Correcto’ para incorrectas :)
El programa siempre imprime ‘Correcto’ porque $password = '*&(#&$#Y' es una asignación que establece el nuevo valor de la variable $password. Como el valor no es ni cero ni una cadena vacía, se considera True. La contraseña que el usuario introduce nunca se verifica en este caso.

Si escribes ==, entonces el programa fallará al intentar convertir las cadenas (la contraseña del usuario y la contraseña correcta) a números y fallará.

Controles condicionales / Comparación de números   |   Controles condicionales / Operador ternario


💪 Or jump directly to the exercises to this section.

Esta página está traducida automáticamente con ChatGPT 4o. Texto original en inglés.

Traducciones de esta página: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська