w3resource

Python Challenges: Encode a string amount into integer


Write a Python program that takes a string and encode it that the amount of symbols would be represented by integer and the symbol.
For example, the string "AAAABBBCCDAAA" would be encoded as "4A3B2C1D3A"

Sample Solution:

Python Code:

def encode_string(str1):
    encoded = ""
    ctr = 1
    last_char = str1[0]

    for i in range(1, len(str1)):

        if last_char == str1[i]:
            ctr += 1
         
        else:
            encoded += str(ctr) + last_char
            ctr = 0
            last_char = str1[i]
            ctr += 1
    encoded += str(ctr) + last_char
    return encoded
print(encode_string("AAAABBBCCDAAA")) 
print(encode_string("PHP"))  
print(encode_string("AAAABBBCCCDAABDAAAAC"))

Sample Output:

4A3B2C1D3A
1P1H1P
4A3B3C1D2A1B1D4A1C

Flowchart:

Python Flowchart: Encode a string amount into integer.

Python Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Python program to find the index of the first term in the Fibonacci sequence to contain 500 digits.
Next: Write a Python program that takes a string of numbers and letters and return string which consists of letters.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.