Zeigt einen Countdown für die Python-Schlaffunktion an

8

Ich verwende time.sleep (10) in meinem Programm. Kann ich den Countdown in der Shell anzeigen, wenn ich mein Programm starte?

%Vor%

und dann möchte ich, dass es 10,9,8,7 ....

macht

ist das möglich?

    
user1681664 20.06.2013, 17:33
quelle

7 Antworten

16

könntest du immer tun

%Vor%

Dieses Snippet hat die leicht störende Eigenschaft, dass jede Zahl auf einer neuen Zeile ausgedruckt wird. Um dies zu vermeiden, können Sie

%Vor%     
aestrivex 20.06.2013, 17:36
quelle
7

Sie können eine Countdown-Funktion wie folgt ausführen:

%Vor%

Der Wagenrücklauf \r und das Komma , behalten den Druck in derselben Zeile (Vermeidung einer Zeile für jeden Countdown-Wert)

Wenn die Anzahl der Sekunden abnimmt, stellt pad_str sicher, dass die letzte Zeile mit Leerzeichen überschrieben wird, anstatt die letzten Zeichen zurückzulassen, wenn der Ausgang kürzer wird.

Der letzte Druck überschreibt die letzte Statusmeldung mit einer Fertigmeldung und inkrementiert die Ausgabezeile, sodass die Verzögerung angezeigt wird.

    
Saullo Castro 20.06.2013 17:37
quelle
3

Dies ist der beste Weg, um einen Timer in der Konsole für Python 3.x anzuzeigen:

%Vor%

Dies schreibt die vorherige Zeile bei jedem Zyklus.

    
Barkles 24.02.2017 01:57
quelle
1

Sicher, schreib einfach eine Schleife, die 10 minus den Iterationszähler ausgibt, dann lasse sie jede Iteration 1 Sekunde lang schlafen und führe 10 Iterationen aus. Oder um noch flexibler zu sein:

%Vor%     
Silas Ray 20.06.2013 17:37
quelle
1

Hier ist eine, die ich gemacht habe:

%Vor%

Am Ende, wenn Sie und ein anderer Sie einen Alarm oder was auch immer setzen können.

    
Silas Poulson 11.08.2013 18:51
quelle
1

Das habe ich in einem meiner ersten Python-Lektionen gelernt, wir haben mit ["/", "-", "|", "\", "|"] gespielt, aber das Prinzip ist das gleiche:

%Vor%     
Azur 20.06.2015 22:50
quelle
1

time.sleep() kann früher zurückkehren, wenn der Schlaf durch ein Signal oder später unterbrochen wird (abhängig von der Planung anderer Prozesse / Threads nach Betriebssystem / Interpreter).

Um die Genauigkeit über mehrere Iterationen hinweg zu verbessern, um eine Drift für eine große Anzahl von Iterationen zu vermeiden, kann der Countdown mit der Uhr synchronisiert werden:

%Vor%     
jfs 06.02.2015 16:08
quelle