35 lines
834 B
Python
35 lines
834 B
Python
def encode(input_string):
|
|
count = 1
|
|
prev = ''
|
|
lst = []
|
|
for character in input_string:
|
|
if character != prev:
|
|
if prev:
|
|
entry = (prev,count)
|
|
lst.append(entry)
|
|
#print lst
|
|
count = 1
|
|
prev = character
|
|
else:
|
|
count += 1
|
|
else:
|
|
try:
|
|
entry = (character,count)
|
|
lst.append(entry)
|
|
return (lst, 0)
|
|
except Exception as e:
|
|
print("Exception encountered {e}".format(e=e))
|
|
return (e, 1)
|
|
|
|
def decode(lst):
|
|
q = ""
|
|
for character, count in lst:
|
|
q += character * count
|
|
return q
|
|
|
|
#Method call
|
|
value = encode("aaaaahhhhhhmmmmmmmuiiiiiiiaaaaaa")
|
|
if value[1] == 0:
|
|
print("Encoded value is {}".format(value[0]))
|
|
decode(value[0])
|