Začněte nyníZačněte zdarma

Posunutí řetězce

Vytvoříš generátor, který pro zadaný řetězec produkuje posloupnost jeho znaků posunutých o zadaný počet pozic shift. Například z řetězce 'sushi' vznikne posloupnost 'h', 'i', 's', 'u', 's' při posunu o 2 pozice doprava (shift = 2). Při posunu o 2 pozice doleva (shift = -2) bude výsledná posloupnost 's', 'h', 'i', 's', 'u'.

Tip: použij operátor % pro cyklické procházení platných indexů. Jeho aplikace na kladné i záporné číslo vždy vrátí nezáporný zbytek, což se hodí při posunování indexu.

Například uvažuj proměnnou string = 'python', která obsahuje řetězec o 6 znacích:

  • 2 % 6 = 2 (tedy string[2 % 6] je t)
  • 0 % 6 = 0 (tedy string[0 % 6] je p)
  • -2 % 6 = 4 (tedy string[-2 % 6] je o)

Toto cvičení je součástí kurzu

Procvičování otázek z kódovacích pohovorů v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Projdi indexy řetězce pomocí připravené proměnné len_string.
  • Zjisti, který znak bude odpovídat danému indexu po provedení posunu.
  • Vytvoř generátor, který posune řetězec 'DataCamp' o 3 pozice doprava (tj. "ampDataC").
  • Pomocí generátoru sestav nový řetězec a vypiš ho.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód