Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2014, 05:52
tsk_zgz
 
Fecha de Ingreso: octubre-2014
Mensajes: 5
Antigüedad: 10 años, 1 mes
Puntos: 0
Uso de la funcion Sleep y otras dudas

Hola, me ha surgido una duda a la hora de realizar un script para python.
El objetivo del script es que lea de un puerto un valor cada X tiempo (uso de la función sleep) y lo ponga en pantalla.
En principio parece una tarea muy sencilla, pero no se como usar correctamente la funcion sleep.
Entonces he empezado por crear un programa alternativo que simplemente pregunte la frecuencia de lectura del valor y la imprima (la frecuencia, no el valor).
Para ello he creado este codigo, pero me falta saber como asegurarme que la frecuencia que lea sea un numero entero comprendido entre el 0.1 y el 2, por ejemplo:

Cita:
def datos():
often= input("How often do you want to print the result? (In seconds) Please, enter a value between 0.1 and 2.")
while not (str.isdigit(often) and (often>=0.1)and(often<=2)):
often=input("How often do you want to print the result? (In seconds) Please, enter a value between 0.1 and 2.")
Al ejecutar este codigo, me da un error porque considera a "often" como float en vez de str (o al reves):

Cita:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
datos()
File "<pyshell#1>", line 4, in datos
while not (str.isdigit(often) and (often>=0.1)and(often<=2)):
TypeError: unorderable types: str() >= float()
Alguna idea con ésto?

La otra duda, es la implementación de la funcion sleep, que sería algo así:

Cita:
veces=0
while veces<100:
time.sleep (often) #esta es la función que no se utilizar
veces=veces+1
Muchas gracias por vuestra ayuda amigos.
Un saludo, Javier