Intermediate · Text processing · 152 of 264
Run-length decoding
Undo run-length encoding: each letter is followed by how many times it repeats (the count may have several digits).
Input: an encoded word, e.g. a3b1c12 Output: the original word.
Examples
Input
a3b1c2
Output
aaabcc
Input
x1
Output
x
Input
z12
Output
zzzzzzzzzzzz
One more test checks other inputs when you press Check.
Stuck? The idea behind text processing
Go through text a character at a time, and build the answer as you go: a new string, or a list of pieces joined at the end with "".join().
ord() gives a character's number and chr() the character for a number: useful for shifting letters.
text = input()
out = []
for ch in text:
out.append(ch.upper() if ch.islower() else ch.lower())
print("".join(out))Watch for: Shifting letters past "z" must wrap round to "a": use % 26 on the letter's position in the alphabet.