[ Foro de Python ]

Contador de tiempo

25-May-2015 18:49
Invitado (Miquel)
4 Respuestas

Hola a todos,

Estoy intentando hacer para un trabajo un buscaminas.

El juego en si ya esta funcionando pero me piden que haga un ranking conforme cuanto menos tiempo tardes en encontrar todas las minas mejor puntuación.

De momento he hecho una funcion que inserta en un blog de notas el nombre del jugador cuando ya ha ganado, el problema esta con el tiempo y como ordenar después el ranking de solo los 5 mejores.

Tengo pensado como hacerlo pero no se como aplicarlo:

Mi idea consiste en guardar en una variable la hora actual de cuando se ejecuta el programa y después restarla a la que se haya acabado la partida.

Si alguien pudiese ayudarme estaría muy agradecido.

Si lo necesitáis os puedo insertar el código o subirlo a mega para que lo inspeccioneis.

Gracias por la atención


27-May-2015 01:04
Nacho Cabanes (+83)

Podría ser algo como


from datetime import datetime
instanteInicial = datetime.now()
# al final de la partida
instanteFinal = datetime.now()
tiempo = instanteFinal - instanteInicial # Devuelve un objeto timedelta
segundos = tiempo.seconds


 


18-Jun-2015 19:18
Invitado (Lizsags)

igual y esto te ayude:


import  time

def main():
    inicio_de_tiempo = time.time()
    tiempo_final = time.time() 
    tiempo_transcurrido = tiempo_final - inicio_de_tiempo
    print "\nTomo %d segundos." % (tiempo_transcurrido)
main()



es una pequeña función que puedes utilizar e incorporar a tu codigo puedes nicluso solo pegar y debe funcionar


23-Jun-2015 22:50
Invitado (Bozz)

Estimados, tengo un problema con una variable que no puedo declarar por que me impide obtener el dato de tiempo como lo necesito


if flotador2 == 1:
global t_inicio
t_inicio = time.time()
print t_inicio	

elif flotador2 == 0:

tsecs = (time.time()-t_inicio)
lapso_bombaon = tsecs
print (lapso_bombaon)
if lapso_bombaon >= 10:
print "bomba en seco"
estado_bomba = 0
print (estado_bomba)


cuando el if se cumple funciona perfecto, pero cuando arranca y solo ejecuta el elif me tira el error que no tengo la variable t_inicio declarada, el problema es que si la declaro dentro del elif, no me sirve el dato.

saludos y gracias por la ayuda de antemano...


27-Jun-2015 12:32
Nacho Cabanes (+83)

Claro: el mensaje de error es correcto. TU variable "t_inicio" está declarada dentro de un "if" y luego intentas usarla en el "else". Deberás declararla fuera (antes) del "if".






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)