Как сократить объявления полей в Python с Tkinter?

На уроках решаем несложные задачки, используя Python и библиотеку Tkinter. В Tkinter можно объявить поле Entry и я сегодня был вынужден создать сразу 16 таких полей и получился вот такой код:

p1 = Entry(root, font = 'Calibri 18')
p2 = Entry(root, font = 'Calibri 18')
p3 = Entry(root, font = 'Calibri 18')
p4 = Entry(root, font = 'Calibri 18')
p5 = Entry(root, font = 'Calibri 18')
p6 = Entry(root, font = 'Calibri 18')
p7 = Entry(root, font = 'Calibri 18')
p8 = Entry(root, font = 'Calibri 18')
p9 = Entry(root, font = 'Calibri 18')
p10 = Entry(root, font = 'Calibri 18')
p11 = Entry(root, font = 'Calibri 18')
p12 = Entry(root, font = 'Calibri 18')
p13 = Entry(root, font = 'Calibri 18')
p14 = Entry(root, font = 'Calibri 18')
p15 = Entry(root, font = 'Calibri 18')
p16 = Entry(root, font = 'Calibri 18')

Можно ли это как-то упростить и записать в пару строк, а не в 16?


Ответы (1 шт):

Автор решения: insolor

Просто создайте список, создавайте и добавляйте поля в этот список в цикле:

p = []

for i in range(16):
    entry = Entry(root, font = 'Calibri 18')
    entry.pack()
    p.append(entry)

Обращение к конкретному полю по индексу от p[0] до p[15].

→ Ссылка