I made a function with a dictionary. The purpose of the function is to separate the input string into sets of 3 . If the input string value is not a multiple of 3, I want to delete the remainder [1 or 2]

my function was working perfectly until I added the part for deleting the remainders

```
def func(fx):
    d={'AAA':1,'BBB':2,'CCC':3}
    length=len(fx)
    if length % 3 == 0:
        return fx
    if length % 3 == 1:
        return fx[:-1]
    if length % 3 == 2:
        return fx[:-2]
    Fx=fx.upper()
    Fx3=[Fx[i:i+3] for i in range(0,len(Fx),3)]
    translate=[d[x] for x in Fx3]
    return translate

x='aaabbbcc'

output = func(x)

print output

>>>
aaabbb

```

---

the function is recognizing that the input sequence is not a multiple of 3 so its deleting the 2 values which is what i want. However, its splitting the new string into 3 letter words to be translated with my dictionary anymore. If you delete the if statements, the function works but only for strings that are a multiple of 3.

What am I doing wrong ???