Verschuif een string
Je gaat een generator maken die, gegeven een string, een reeks losse tekens oplevert die zijn verschoven met een opgegeven aantal posities shift. Zo levert de string 'sushi' de reeks 'h', 'i', 's', 'u', 's' op wanneer we 2 posities naar rechts verschuiven (shift = 2). Wanneer we 2 posities naar links verschuiven (shift = -2), wordt de resulterende reeks 's', 'h', 'i', 's', 'u'.
Tip: gebruik de %-operator om door de geldige indexen te cyclen. Toepassen op een positief of negatief getal geeft een niet-negatieve rest, wat handig kan zijn bij het verschuiven van je index.
Neem bijvoorbeeld de volgende variabele string = 'python', met een string van 6 tekens:
2 % 6 = 2(dus,string[2 % 6]ist)0 % 6 = 0(dus,string[0 % 6]isp)-2 % 6 = 4(dus,string[-2 % 6]iso)
Deze oefening maakt deel uit van de cursus
Oefenen met coding-interviewvragen in Python
Oefeninstructies
- Loop over de indexen van een string met de meegeleverde variabele
len_string. - Bepaal welk teken bij de index hoort wanneer we de verschuiving uitvoeren.
- Maak een generator die de string
'DataCamp'3 posities naar rechts verschuift (dus"ampDataC"). - Maak met de generator een nieuwe string en print die.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
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)