Raku-Kurs / Grundlagen / Bedingte Überprüfungen / Vergleichen von Zeichenketten
Quiz 2 — die Bedingung in if
*
Korrigieren Sie das Programm und beantworten Sie die Frage.
. | my $password = prompt ‘Geben Sie Ihr Passwort ein: ‘; |
. | |
eq = | if $password ␣␣ ‘*&(#&$#Y’ { |
. | say ‘Richtig’; |
. | } |
. | else { |
. | say ‘Falsch’; |
. | } |
Was macht dieses Programm mit dem =
im Test?
Druckt immer „Richtig“ | Ihre Antwort: (: Druckt immer „Richtig“, Druckt immer „Falsch“, Druckt „Richtig“ für richtige Passwörter und „Falsch“ für falsche, Druckt „Falsch“ für richtige Passwörter und „Richtig“ für falsche :) |
Das Programm druckt immer „Richtig“, weil
Wenn Sie
$password = '*&(#&$#Y'
eine Zuweisung ist, die den neuen Wert der $password
-Variablen festlegt. Da der Wert weder null noch eine leere Zeichenkette ist, wird er als True
betrachtet. Das vom Benutzer eingegebene Passwort wird in diesem Fall nie überprüft.Wenn Sie
==
eingeben, wird das Programm fehlschlagen, da es versucht, die Zeichenketten (das Benutzerpasswort und das richtige Passwort) in Zahlen umzuwandeln und dabei scheitert.Kursnavigation
← Bedingte Überprüfungen / Vergleichen von Zahlen | Bedingte Überprüfungen / Ternärer Operator →
💪 Or jump directly to the exercises to this section.
Diese Seite wurde automatisch mit ChatGPT 4o übersetzt. Originaler englischer Text.
Übersetzungen dieser Seite: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська