Я создаю десять кнопок, и тексты кнопок помечены от 1 до 10. Следующий код создает 10 кнопок и метки правильно.Но он печатает 9 как вывод для всех кнопок.Я ожидаю, что он напечатает соответствующее число кнопки на экране, например, если пользователь нажимает кнопку 2, он должен напечатать 2.
def create():
for i in range (1,10):
lst.insert(i,Button(text=i,command=lambda: prnt(i)).pack())
(Примечание: 'prnt (i)'- это функция, которая просто печатает значение, которое у меня есть.' lst '- это список, в котором хранятся созданные кнопки.)
По выводу я могу сказать, что программа использует последнее значение i в качестве аргументафункция, когда пользователь нажимает кнопку, так как бы я решил это без необходимости писать 10 строк кода для каждой кнопки.