Zacznij terazZacznij za darmo

Przesunięcie stringa

Stworzysz generator, który dla podanego stringa generuje sekwencję jego znaków przesuniętych o określoną liczbę pozycji shift. Na przykład string 'sushi' daje sekwencję 'h', 'i', 's', 'u', 's' przy przesunięciu o 2 pozycje w prawo (shift = 2). Przy przesunięciu o 2 pozycje w lewo (shift = -2) wynikowa sekwencja to 's', 'h', 'i', 's', 'u'.

Wskazówka: użyj operatora %, aby cyklicznie przechodzić przez prawidłowe indeksy. Zastosowany do liczby dodatniej lub ujemnej zwraca nieujemną resztę z dzielenia, co ułatwia przesuwanie indeksu.

Rozważ na przykład następującą zmienną string = 'python', zawierającą string złożony z 6 znaków:

  • 2 % 6 = 2 (a więc string[2 % 6] to t)
  • 0 % 6 = 0 (a więc string[0 % 6] to p)
  • -2 % 6 = 4 (a więc string[-2 % 6] to o)

To ćwiczenie jest częścią kursu

Ćwiczenie pytań na rozmowach kwalifikacyjnych z programowania w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Iteruj po indeksach stringa, korzystając z dostarczonej zmiennej len_string.
  • Wyznacz, który znak odpowiada danemu indeksowi po wykonaniu przesunięcia.
  • Utwórz generator, który przesuwa string 'DataCamp' o 3 pozycje w prawo (czyli daje "ampDataC").
  • Utwórz nowy string za pomocą generatora i wyświetl go.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod