Если вы задаетесь таким вопросом, значит вы вообще не представляете себе что вас ждет. А ждет вас много увлекательных проблем, которые нужно будет решить.
Так как переменная i не параметр лямбды, то после завершения цикла во всел лямбдах будет одно последнее значение i = 32
Попробуйте так:
but.bind("", lambda event, but=but, i = i: changeBut(event, but, i))
Канал в коде только один: intCh, при вызове factorial канал передается по ссылке (он только так и передается) и внутри factorial этот единственный канал называется ch и впридачу на него наложено ограничение что этот канал можно использовать только для вывода в него (ограничение наложено в декларации параметра функции).
Никакой магии - канал объявили, передали, прочитали из него.
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.