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(tedystring[2 % 6]jet)0 % 6 = 0(tedystring[0 % 6]jep)-2 % 6 = 4(tedystring[-2 % 6]jeo)
Toto cvičení je součástí kurzu
Procvičování otázek z kódovacích pohovorů v Pythonu
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)