У меня проблемы с созданной мною программой Hangman

Проблема заключается в вашей lamba в цикле for. Ваша лямбда использует переменную name, но переменная name получает переназначение каждый раз через цикл for. Таким образом, в конце все кнопки получают последнее значение, которое name было назначено в цикле for. Чтобы избежать этого, вы можете использовать параметры ключевого слова по умолчанию в своем выражении lamba следующим образом:

user_button = Tkinter.Button(self.root,
                             text=name,
                             command=lambda name=name: self.a(name))

Это привязывает текущее значение переменной name к аргументу ключевого слова lamba name каждый раз через цикл , создавая желаемый эффект.

-8
задан BryanH 25 September 2012 в 14:14
поделиться