Не знаю на сколько это проще и удобнее. Так же нужно учесть что 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)