Задать вопрос

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 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Norkotik
А что она должна возвращать? return то где?
Ответ написан
Комментировать
MaxLevs
@MaxLevs
Функция wrap() не содержит return, поэтому возвращает None.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы