Разбор строки на 8 символов

Имеется такой код, в конце должно вывести 5 элементов массива, но получается всего 4, где ошибка?

def checker(text):
    s_numbers = []
    s_elements = 0
    s_id = ''
    for s_symbol in text:
        if s_elements != 8:
            s_elements += 1
            s_id += str(s_symbol)
        else:
            s_numbers.append(str(s_id))
            s_elements = 1
            s_id = str(s_symbol)
        print(s_symbol)
    return s_numbers
print(checker('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'))

Ответы (2 шт):

Автор решения: S. Nick

добавьте послк цикла for - s_numbers.append(str(s_id))

def checker(text):
    s_numbers = []
    s_elements = 0
    s_id = ''
    for s_symbol in text:
        if s_elements != 8:
            s_elements += 1
            s_id += str(s_symbol)
        else:
            s_numbers.append(str(s_id))
            s_elements = 1
            s_id = str(s_symbol)
            
    s_numbers.append(str(s_id))                              # <----      
    return s_numbers
    
#print(checker('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'))
print(checker('1234567812345678123456781234567812345678'))
→ Ссылка
Автор решения: Maxim Timakov

Альтернативное решение задачи:

def checker(text):
    s_numbers = []
    max_len = 8
    for idx in range(0, len(text), max_len):
        s_numbers.append(text[idx : idx + max_len])
    
    return s_numbers
    
print(checker('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'))
print(checker('1234567812345678123456781234567812345678'))
→ Ссылка