Python-テキスト進捗バーの例

1787 ワード

テキストの進行状況バー
  • 動的に変更可能なテキストプログレスバー
  • を文字列で印刷する.
  • 進捗バーは、1行で徐々に変化する必要がある
  • .
    単一行動的リフレッシュ
  • リフレッシュの本質:後に印刷する文字で前の文字
  • を上書きする.
  • 改行不可:print()は制御される必要がある
  • 返品できるようにする:印刷後のカーソルは前の位置に戻るr
  • 時間統計
    start = time.perf_counter() #    
    for i in range(100):
        #        
        dur = time.perf_counter() - start;
        print("      {0:.2f}".format(dur));

    完全な効果
    #     
    import time
    print("-----    -----");
    start = time.perf_counter();
    for i in range(10):
        a = (i+1)*10;
        b = '*' * i;
        c = '.' * (10 - i-1);
        dur = time.perf_counter() - start;
        print("\r" + "{0:^3.0f}%[{1}->{2}]{3:.2f}s".format(a,b,c,dur), end="");
        time.sleep(0.5);
    print("
    "+"----- -----");

    挙一反三:計算問題の拡張
    テキスト進捗バープログラムはperf_を使用しています.counter()計時、計時方法は各種の統計時間を必要とする計算問題に適している.例えば、異なるアルゴリズム時間、統計プログラムの実行時間を比較する.
    挙一反三:進捗バーの応用
    実行時間が長いプログラムで進捗バーを追加し、ユーザー体験を向上させるアプリケーションで進捗バーを追加します.進捗バーはヒューマン・マシン・インタラクションの絆の一つです.
    難点:
    1. perf_counter()は、CPUレベルの正確な時間カウント値を秒単位で返します.このカウント値の開始点が不確定であるため、計算差値を連続的に呼び出してこそ意味があります.
    2.print()詳細
    print関数のデフォルトの改行はend='が機能します
    #print  
    #print(*objects, sep=' ', end='
    ', file=sys.stdout) # #objects -- , 。 , , 。 #sep -- , 。 #end -- 。
    , 。 #file -- print("Hello"); print("Hello","World"); print("www","baidu","com",sep=".");# for i in range(10): print(i, end="**"); # , ** # #Hello #Hello World #www.baidu.com #0**1**2**3**4**5**6**7**8**9**

    本文はPythonの記録を学ぶためだけで、資料は中国大学MOOC《Python言語設計》―嵩天に由来する.