ПочатиПочніть безкоштовно

Зсунути рядок

Ви створите генератор, який для заданого рядка формує послідовність символів, зсунуту на вказану кількість позицій shift. Наприклад, рядок 'sushi' утворює послідовність 'h', 'i', 's', 'u', 's', коли ми зсуваємо на 2 позиції праворуч (shift = 2). Якщо зсунути на 2 позиції ліворуч (shift = -2), отримаємо послідовність 's', 'h', 'i', 's', 'u'.

Порада: використайте оператор %, щоб циклічно проходити допустимі індекси. Застосування його до додатного або від'ємного числа дає невід'ємну остачу, що зручно під час зсуву індексу.

Наприклад, маємо змінну string = 'python' із рядком із 6 символів:

  • 2 % 6 = 2 (отже, string[2 % 6] — це t)
  • 0 % 6 = 0 (отже, string[0 % 6] — це p)
  • -2 % 6 = 4 (отже, string[-2 % 6] — це o)

Ця вправа є частиною курсу

Практика співбесід із програмування на Python

Переглянути курс

Інструкції до вправи

  • Пройдіть індексами рядка, використовуючи надану змінну len_string.
  • Визначте, який символ відповідатиме індексу після зсуву.
  • Створіть генератор, що зсуває рядок 'DataCamp' на 3 позиції праворуч (тобто "ampDataC").
  • Створіть новий рядок за допомогою генератора і виведіть його.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

def shift_string(string, shift):
    len_string = len(string)
    # Loop over the indices of a string
    for idx in ____:
        # Find which character will correspond to the index.
        ____ ____[____]
       
# Create a generator
gen = ____

# Create a new string using the generator and print it out
string_shifted = ''.____
print(string_shifted)
Редагувати та запускати код