Как добавить по 3 кнопки в каждой строке?
Есть динамический список. Хочу поделить его по 3 колонки, но не пойму как сделать это. В cats допустим у нас 11 элементов. Логически понятно что на 4 итерации выдаст ошибку, но мне бы понять как в markup запихнуть динамически количество кнопок
#делим список cats по 3 колонки
n = 3
outList = []
for i in range(n, len(cats) + n, n):
outList.append(cats[i-n:i])
for items in outList:
# btn1 = types.KeyboardButton(items[0])
# btn2 = types.KeyboardButton(items[1])
# btn3 = types.KeyboardButton(items[2])
markup.add(btn1,btn2,btn3)
Ответы (1 шт):
Автор решения: Алексей Осинный
→ Ссылка
def my_print(number):
list_buttons = []
for _ in range(0,number,1):
list_buttons.append(_)
print('список кнопок',list_buttons)
row = []
column = []
for i in list_buttons:
if len(row) < 3:
row.append(i)
if len(row) == 3:
column.append(row)
row = []
if len(row) > 0:
column.append(row)
print('result:')
for i in column:#i это строка
for j in i:#j это столбец
print(j,' ',end = '')
print()
my_print(3)
my_print(5)
my_print(7)
my_print(10)
если непонятно могу расписать.