упр.01 задача 3
- Краен срок:
- 15.10.2025 23:59
- Точки:
- 1
Срокът за предаване на решения е отминал
// Include the solution source in the same file, so we
// don't have to worry about item visibility.
// Please don't use `include!` in real code, this is a hack
// around the checking system.
include!{ "../src/lib.rs" }
#[test]
fn test_basic() {
assert_eq!(check_password(""), false);
assert_eq!(check_password("abcdedfg"), false);
assert_eq!(check_password("a11b22c33d44"), false);
assert_eq!(check_password("A1234abcd"), false);
assert_eq!(check_password("1234ABCD"), false);
assert_eq!(check_password("ABCD1234"), true);
assert_eq!(check_password("Abcd1234"), true);
assert_eq!(check_password("A123bcd4"), true);
}
Напишете функция
fn check_password(pass: &str) -> bool {
// ваш код
}
Паролата е валидна, ако:
- е дълга поне 8 символа
- започва с главна буква
- завършва с цифра
Забележки:
- функцията е нужно да работи само за ascii символи - в случая няма да тестваме с unicode
- може да използвате
pass.as_bytes(), за да конвертиране низа до масив от байтове (&[u8]) и да итерирате или индексирате по това - алтернативно може да използвате
pass.chars().next().unwrap()иpass.chars().last().unwrap(). Това използва итератор по символи и друг път ще обясним как точно работи.
П.С. игнорирайте линка с указания за домашни - добавя се автоматично и не е актуален в случая.
Задължително прочетете (или си припомнете): Указания за предаване на домашни
Погрижете се решението ви да се компилира с базовия тест:
// Include the solution source in the same file, so we
// don't have to worry about item visibility.
// Please don't use `include!` in real code, this is a hack
// around the checking system.
include!{ "../src/lib.rs" }
#[test]
fn test_basic() {
assert_eq!(check_password(""), false);
assert_eq!(check_password("abcdedfg"), false);
assert_eq!(check_password("a11b22c33d44"), false);
assert_eq!(check_password("A1234abcd"), false);
assert_eq!(check_password("1234ABCD"), false);
assert_eq!(check_password("ABCD1234"), true);
assert_eq!(check_password("Abcd1234"), true);
assert_eq!(check_password("A123bcd4"), true);
}
