@KatSmi

Как вывести построчно целые числа от 1 до N не более С чисел в строке?

Я написала код, но переживаю, что его можно сделать проще и удобнее - усовершенствовать.
"""
N – Количество чисел, которое необходимо разбить на строки
C – Количество чисел в строке
"""
def line_break(N, C):
    s = [i for i in range(1, (N+1))]
    y = 0

    while y <= len(s):
        print(*s[0:C], end="\n")
        y += 1
        del s[0:C]
  • Вопрос задан
  • 1044 просмотра
Пригласить эксперта
Ответы на вопрос 2
@DudkevichD
Не знаю на сколько это проще и удобнее. Так же нужно учесть что s может быть не кратно С и тогда будет исключение, чтобы это избежать можешь использовать try.

def line_break(N, C):
    s = [i for i in range(1, (N+1))]

    while s:
        try:
            print(s[:C])
            del s[:C]
        except:
            print(s)
Ответ написан
Комментировать
@Drill
def line_break(limit, step):
    def get_chars():
        for i in range(1, (limit+1)):
            yield f'{i} ' if i % step != 0 else f'{i}\n'
    return ''.join(get_chars()).strip()

print(line_break(14, 4))
1 2 3 4 
5 6 7 8 
9 10 11 12 
13 14


print(line_break(25, 5))
1 2 3 4 5 
6 7 8 9 10 
11 12 13 14 15 
16 17 18 19 20 
21 22 23 24 25
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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