Вызовите функцию дважды или более в цикле
Я использую код ниже сlambda
Чтобы вызвать функцию один раз в цикле, она работает, но теперь я пытаюсь вызвать функцию для определенного времени, например, 3 раза в цикле, я искал ее и нашел некоторые решения, но они вызывают функцию в течение определенного времени, если нет цикла, когда я пробую это в цикле, ничего не меняется. Есть ли эффективный способ сделать это?
Этот работает в цикле и печатать только один раз. Я хочу что-то подобное сделать это 3 раза.
def once():
print "Do function once"
once.func_code = (lambda:None).func_code
once()
Приведенный ниже код ничего не меняет и продолжает печатать вечно, если он находится в цикле, если не работает.
def repeat_fun(times, f):
for i in range(times): f()
def do():
print 'Do function for 3 times'
repeat_fun(3, do)
Также помогает добавление счетчика вне цикла, но я думаю, что должно быть лучшее решение для него.