Python - ignora la entrada a una lista si no han pasado X segundos

 
Vista:
sin imagen de perfil
Val: 66
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

ignora la entrada a una lista si no han pasado X segundos

Publicado por Samuel (38 intervenciones) el 04/09/2019 14:02:27
hola!

Estoy aprendiendo python y ahora quiero que solo se puedan añadir a la lista strings cada 12 segundos por ejemplo,

ejemplo:

si mediante un input se escribe "juan" de añade a la lista, vuelve a salir el input llamando a la funcion y si escribe un nombre antes de 12 segundos no lo añade y muestra un mensaje tipo "vas demasiado rápido" pero si ya han pasado los 12 segundos lo añade sin problema, con otro mensaje tipo "perfecto otro nombre mas" se que son cosas que tienen poca utilidad pero es para aprender luego les doy uso.en javascript creo que lo hacia con sittimeout pero en python ni idea.

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

ignora la entrada a una lista si no han pasado X segundos

Publicado por joel (901 intervenciones) el 04/09/2019 17:21:51
Hola Samuel, en python, se me ocurre hacerlo obteniendo la fecha actual antes de llamar al input, y luego al entrar el dato en el input, indicar un texto u otro dependiendo del tiempo que haya tardado.

Te serviría?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 66
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

ignora la entrada a una lista si no han pasado X segundos

Publicado por Samuel (38 intervenciones) el 05/09/2019 04:45:05
Gracias! no exactamente Joel puse el ejemplo del input pero ahora te pongo otro, solo quiero que se puedan introducir datos a una lista pasados 12 segundos por ejemplo desde la ultima introducción, no se si me explico, ejemplo que he hecho me falta justamente eso, frenar la entrada si se produce demasiado rápido.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import random
import time
lista = [ ]
repeticiones = 0
 
def funcion():
    global repeticiones
    time.sleep(random.randint(1,20) #aqui hago una pausa entre 1 y 20 segundos
 
    lista.append(random.randint(1,10)) # aqui agrego un numero aleatorio entre 1 y 10 
                                       # y solo quiero que se añada a la lista si la entrada es pasados de 12 segundos. en este caso seria entre (13 y 20)
                                       #en caso de ser entre (1 y 12) no se añadiria
 
    print (lista)
    repeticiones+=1
    return  repeticiones
 
while repeticiones < 25:
    funcion()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

ignora la entrada a una lista si no han pasado X segundos

Publicado por tincopasan (1082 intervenciones) el 05/09/2019 16:22:23
la verdad no entiendo cual es la lógica que estás buscando pero en base a lo que publicas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import random
 
import time
 
lista = [ ]
repeticiones = 0
 
def funcion():
    global repeticiones
    tiempo_inicial = time.time()  #para saber el tiempo actual
    time.sleep(random.randint(1,20))  # te falta un parentesís
    demora= time.time() - tiempo_inicial  #despúes de la demora veo la diferencia
    if demora >= 13 :     #si la demora es mayor o igual a 13 
        lista.append(random.randint(1,10))    #en caso de ser entre (1 y 12) no se añadiria
    print (lista)
    repeticiones+=1
    return  repeticiones
 
while repeticiones < 25:
    funcion()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 66
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

ignora la entrada a una lista si no han pasado X segundos

Publicado por Samuel (38 intervenciones) el 06/09/2019 00:36:18
Gracias! tincopasan no tiene ningún sentido solo aprender como se hace, yo no voy a aplicar de otros modos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

ignora la entrada a una lista si no han pasado X segundos

Publicado por joel (901 intervenciones) el 05/09/2019 16:35:33
Hoal Samuel, haber si te sirve esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import random
import time
lista = []
repeticiones = 0
 
def funcion():
    global repeticiones
    global lista
 
    start=int(time.time())
    time.sleep(random.randint(1,20)) #aqui hago una pausa entre 1 y 20 segundos
 
    dif=int(time.time())-start
    if dif>12:
        lista.append(random.randint(1,10))
        print (lista)
        repeticiones+=1
    else:
        print("Ha tardado menos de 12 segundos ({})".format(dif))
 
    return repeticiones
 
while repeticiones < 25:
    funcion()

Me ha devuelto esto al ejecutarlo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Ha tardado menos de 12 segundos (2)
Ha tardado menos de 12 segundos (8)
[5]
Ha tardado menos de 12 segundos (3)
[5, 8]
[5, 8, 7]
Ha tardado menos de 12 segundos (7)
Ha tardado menos de 12 segundos (4)
Ha tardado menos de 12 segundos (12)
[5, 8, 7, 2]
[5, 8, 7, 2, 1]
[5, 8, 7, 2, 1, 4]
Ha tardado menos de 12 segundos (7)
Ha tardado menos de 12 segundos (9)
[5, 8, 7, 2, 1, 4, 1]
[5, 8, 7, 2, 1, 4, 1, 1]
[5, 8, 7, 2, 1, 4, 1, 1, 1]
[5, 8, 7, 2, 1, 4, 1, 1, 1, 3]
Ha tardado menos de 12 segundos (12)
...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 66
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

ignora la entrada a una lista si no han pasado X segundos

Publicado por Samuel (38 intervenciones) el 06/09/2019 00:36:52
genial Joel! funciona perfecto mil gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar