@vinpin

Как можно улучшить код?

Привет.

Подскажите, как можно переписать код под такую задачу: есть ряд чисел [1,2,3,n,n+1], нужно выводить на экран блоки по m чисел из этого ряда (или сколько осталось, если чисел меньше m).

Например, для диапазона чисел от 1 до 7 нужно выводить по 3 числа.
результат:
1,2,3
4,5,6
7

Я написал такой код, он работает. Но выглядит по-моему не очень, есть ли решения покрасивее?

start_num = 1
    end_num = 8
    row = 3
    count = 1
    nums = []

    for i in range(start_num, end_num + 1):
        nums.append(i)
        if count == row or i == end_num:
            print(nums)
            count = 0
            nums = []
        count += 1
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ответы на вопрос 1
MinTnt
@MinTnt
Пришла такая ещё идейка реализации через генераторы:
start = 1
end = 11
row = 10

[[print(i[rw:rw+row]) for rw in range(0, len(i), row)] for i in [[x for x in range(start, end + 1)]]]
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы