Função de chamada duas ou mais vezes em um loop

Eu uso o código abaixo comlambda para chamar a função uma vez em um loop, funciona, mas agora estou tentando chamar a função para horários específicos, como 3 vezes em um loop, procurei e encontrei algumas soluções, mas eles chamam função para horários específicos, se não houver loop, quando eu tento em loop, nada muda. Existe uma maneira eficiente de fazer isso?

Este funciona em loop e imprime apenas uma vez. Quero algo assim para fazer isso por 3 vezes.

def once():
    print "Do function once"
    once.func_code = (lambda:None).func_code

once()

Este código abaixo não altera nada e continua imprimindo para sempre se estiver em loop, caso contrário não funcione.

def repeat_fun(times, f):
    for i in range(times): f()

def do():
    print 'Do function for 3 times'

repeat_fun(3, do)

Também adicionar contador fora do loop ajuda, mas acho que deveria haver uma solução melhor para isso.

questionAnswers(2)

yourAnswerToTheQuestion