Brainдля того чтобы понимать когда нужо ваш кастомный malnloop прервать. на самом деле может использовать любой флаг
А для чего вы ввели переменную tk.ml
Brainда, хотя от глобальных переменных конечно нужно избавляться. Я бы в вашем случае использовал ООП вместо процедурного програмирования.
Посмотрите код, так правильно использовать майнлуп? Единственное что глобальные переменные пришлось создать, насколько это грамотно?