Decalează un șir de caractere
Vei crea un generator care, dat fiind un șir de caractere, produce o secvență a caracterelor componente decalate cu un număr specificat de poziții shift. De exemplu, șirul 'sushi' produce secvența 'h', 'i', 's', 'u', 's' când decalăm cu 2 poziții la dreapta (shift = 2). Când decalăm cu 2 poziții la stânga (shift = -2), secvența rezultată va fi 's', 'h', 'i', 's', 'u'.
Sfat: folosește operatorul % pentru a cicla prin indicii valizi. Aplicat unui număr pozitiv sau negativ, acesta returnează un rest non-negativ, ceea ce poate fi util când îți decalezi indexul.
De exemplu, consideră variabila string = 'python', care conține un șir de 6 caractere:
2 % 6 = 2(prin urmare,string[2 % 6]estet)0 % 6 = 0(prin urmare,string[0 % 6]estep)-2 % 6 = 4(prin urmare,string[-2 % 6]esteo)
Acest exercițiu face parte din cursul
Exersarea întrebărilor de interviu de programare în Python
Instrucțiuni pentru exercițiu
- Iterează peste indicii unui șir de caractere folosind variabila
len_stringfurnizată. - Determină ce caracter va corespunde indexului după aplicarea decalajului.
- Creează un generator care decalează șirul
'DataCamp'cu 3 poziții la dreapta (adică"ampDataC"). - Creează un șir de caractere nou folosind generatorul și afișează-l.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)