Дано рядок тексту (англ. string) з цифр. Потрібно вивести всі суміжні підрядки довжини n у цьому рядку в тому порядку, у якому вони йдуть.
Наприклад, рядок тексту «49142» має такі серії з 3 цифр:
А такі серії з 4 цифр:
А якщо попросити серію з 6 цифр із рядка тексту з 5 цифр, то отримаємо те, на що заслужили.
Зауважмо, що ці серії мають займати лише суміжні позиції у вхідних даних; цифри не обовʼязково мають бути послідовними за значенням.
Іноді буває потрібно згенерувати виняток. Роблячи це, завжди додавайте змістовне повідомлення про помилку, яке вказує на джерело помилки. Це робить код зрозумілішим і значно допомагає з налагодженням. Якщо відомо, що джерело помилки буде певного типу, можна згенерувати один із вбудованих типів помилок, але все одно варто додати змістовне повідомлення.
У цій вправі потрібно використати інструкцію raise, щоб «викинути» ValueError, якщо параметри послідовності та/або довжини, передані у функцію slice(), порожні або поза межами діапазону. Тести пройдуть лише тоді, коли буде і виконано raise для exception, і додано до нього повідомлення.
Щоб згенерувати ValueError із повідомленням, запишіть повідомлення як аргумент до типу exception:
# if the slice length is zero.
raise ValueError("slice length cannot be zero")
# if the slice length is negative.
raise ValueError("slice length cannot be negative")
# if the series provided is empty.
raise ValueError("series cannot be empty")
# if the slice length is longer than the series.
raise ValueError("slice length cannot be greater than series length")
Зареєструйтеся на Exercism, щоб вивчати й опановувати Python, а також 17 концепцій146 вправ та справжнє наставництво від людей, і все це безкоштовно.