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
Si escribes
$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á.Navegación del curso
← 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: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська