Курс по Raku / Основи / Условни проверки / Сравняване на стрингове
Тест 2 — условието в if
*
Коригирайте програмата и отговорете на въпроса.
. | my $password = prompt ‘Въведете вашата парола: ‘; |
. | |
eq = | if $password ␣␣ ‘*&(#&$#Y’ { |
. | say ‘Вярно’; |
. | } |
. | else { |
. | say ‘Невярно’; |
. | } |
С =
в теста, какво прави тази програма?
Винаги отпечатва ‘Вярно’ | Вашият отговор: (: Винаги отпечатва ‘Вярно’, Винаги отпечатва ‘Невярно’, Отпечатва ‘Вярно’ за правилни пароли и ‘Невярно’ за неправилни, Отпечатва ‘Невярно’ за правилни пароли и ‘Вярно’ за неправилни :) |
Програмата винаги отпечатва ‘Вярно’, защото
Ако въведете
$password = '*&(#&$#Y'
е присвояване, което задава новата стойност на променливата $password
. Тъй като стойността не е нула или празен низ, тя се счита за True
. Паролата, която потребителят въвежда, никога не се проверява в този случай.Ако въведете
==
, тогава програмата ще се провали, тъй като ще се опита да конвертира низовете (потребителската парола и правилната парола) в числа и ще се провали.Навигация по курса
← Условни проверки / Сравняване на числа | Условни проверки / Теренарен оператор →
💪 Or jump directly to the exercises to this section.
Тази страница е автоматично преведена с ChatGPT 4.0. Оригинален текст на английски
Преводи на тази страница: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська