Разбор строки на 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'))