Python, почему функция возвращает None?

Есть задача: написать функцию, которая принимает первым аргументом строку и вторым аргументом размер чанка
Я решил с помощью генератора разбивать строку и возвращать по кускам, всё хорошо, но последний элемент None. Как это исправить?
def wrap(string, max_width):
    def gen_letters(string, max_width):
        count = 0
        res_gen = ''
        for index, i in enumerate(string):
            count += 1
            res_gen += i
            if count == max_width:
                count = 0
                tmp_res = res_gen
                res_gen = ''
                yield tmp_res
            elif count < max_width and index == len(string)-1:
                yield res_gen

    for i in gen_letters(string, max_width):  
        print(i)

Входные данные:
string: ABCDEFGHIJKLIMNOQRSTUVWXYZ
max_width: 4
Результат:
ABCD
EFGH
IJKL
IMNO
QRST
UVWX
YZ
None
  • Вопрос задан
  • 1960 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Norkotik
А что она должна возвращать? return то где?
Ответ написан
Комментировать
MaxLevs
@MaxLevs
Функция wrap() не содержит return, поэтому возвращает None.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект