Треки
/
Python
Python
/
Вправи
/
Послідовність
Послідовність

Послідовність

Легка

Вказівки

Дано рядок тексту (англ. string) з цифр. Потрібно вивести всі суміжні підрядки довжини n у цьому рядку в тому порядку, у якому вони йдуть.

Наприклад, рядок тексту «49142» має такі серії з 3 цифр:

  • «491»
  • «914»
  • «142»

А такі серії з 4 цифр:

  • «4914»
  • «9142»

А якщо попросити серію з 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")
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Python Exercism

Час розпочати Послідовність?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Python, а також 17 концепцій146 вправ та справжнє наставництво від людей, і все це безкоштовно.