Курс по 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 • Български • Русский • Українська