Llama a la función dos veces o más en un bucle
Yo uso el siguiente código conlambda
para llamar a la función una vez en un bucle, funciona, pero ahora estoy tratando de llamar a la función para tiempos específicos como 3 veces en un bucle, lo busqué y encontré algunas soluciones, pero llaman a la función para tiempos específicos si no hay un bucle, cuando lo intento en un bucle, nada cambia. ¿Hay una manera eficiente de hacer esto?
Este funciona en un bucle e imprime solo una vez. Quiero que algo así lo haga 3 veces.
def once():
print "Do function once"
once.func_code = (lambda:None).func_code
once()
Este código a continuación no cambia nada y sigue imprimiéndose para siempre si está en un bucle, si no funciona.
def repeat_fun(times, f):
for i in range(times): f()
def do():
print 'Do function for 3 times'
repeat_fun(3, do)
También es útil agregar un contador fuera del ciclo, pero creo que debería haber una mejor solución para ello.