J'ai fait une minuterie pour faire une cuisinière à basse température. J'ai pensé qu'il serait préférable d'utiliser le filetage dans le style, mais je l'ai fait rapidement à ma connaissance.
Il est supposé être utilisé dans une boucle while, et il continue à renvoyer True s'il est dans le temps défini, et renvoie False s'il dépasse le temps défini. Le minuteur règle à l'avance l'intervalle et le temps de traitement et l'exécute.
Raccourcir le temps d'intervalle améliore la précision du temps de traitement.
La précision requise pour le temps de traitement varie en fonction de l'application, nous l'avons donc rendue variable.
Dans le cas d'une cuisson à basse température, le temps de traitement est souvent de plusieurs heures, il n'est donc pas nécessaire de le faire tourner à des intervalles très courts.
python
import sys
import time
print('Combien d'heures voulez-vous arrêter?')
hour = float(input())
set_time = hour * 60*60
print(str(set_time) + 'Je m'arrêterai après une seconde')
print('Intervalle de comptage')
interval = float(input())
print(str(interval) + 'Compter à intervalles de secondes')
class Countdown_Timer:
def Timer(self,t):
time_now = time.time()
delta_time = time_now - start_time
while delta_time < t:
time_now = time.time()
delta_time = time_now - start_time
time.sleep(interval)
flag = True
return flag
else:
global time_measured
time_measured = delta_time
flag = False
return flag
timer = Countdown_Timer()
start_time = time.time()
print('start Timer')
while timer.Timer(set_time):
# print('Timer On')
pass
else:
print('Timer Off')
print('Le temps est' + str(time_measured)+'C'était une seconde.')
print('L'erreur est' + str(time_measured - set_time) + 'Secondes.')
Dans la cuisson à basse température, le temps de traitement est souvent réglé en heures, de sorte que le temps de traitement est entré en heures.
Lorsque vous le démarrez, cela ressemble à ceci.
Je veux éliminer l'écho de input ().
Combien d'heures voulez-vous arrêter?
0.002
7.199999999999999 Il s'arrêtera après une seconde
Intervalle de comptage
0.3
0.Comptez à intervalles de 3 secondes
start Timer
Timer Off
Le temps est 7.C'était 243600845336914 secondes.
L'erreur est 0.04360084533691477 secondes.
Recommended Posts