[PYTHON] Minuterie utilisée dans la boucle while

Chose que tu veux faire

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

Minuterie utilisée dans la boucle while
Implémenter la fonction de minuterie dans pygame
Paramètres souvent utilisés dans Jupyter
Utilisé en EDA pour l'apprentissage automatique
Commandes fréquemment utilisées dans virtualenv
Un minuteur (ticker) qui peut être utilisé sur le terrain (peut être utilisé n'importe où)
8 commandes fréquemment utilisées dans Python Django