2020年3月11日水曜日

開発環境

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング (Al Sweigart(著)、相川 愛三(翻訳)、オライリージャパン)の第Ⅱ部(処理の自動化)、15章(時間制御、自動実行、プログラム起動)、15.12(演習プロジェクト)、15.12.1(ストップウォッチの整形)の解答を求めてみる。

コード

#!/usr/bin/env python3
import time
import pyperclip

print('Enter')
input()
print('スタート')
start_time = time.time()
last_time = start_time
lap_num = 1

try:
    while True:
        input()
        now = time.time()
        lap_time = round(now - last_time, 2)
        total_time = round(now - start_time, 2)
        s = f'ラップ #{str(lap_num).rjust(2)}: {str(total_time).rjust(5)} ({str(lap_time).rjust(6)})'
        print(s, end='')
        pyperclip.copy(s)
        lap_num += 1
        last_time = now
except KeyboardInterrupt:
    print('\n終了')

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./stopwatch.py 
Enter

スタート

ラップ # 1:  1.29 (  1.29)
ラップ # 2:  1.63 (  0.34)
ラップ # 3:  1.97 (  0.34)
ラップ # 4:  2.32 (  0.35)
ラップ # 5:  2.73 (  0.42)
ラップ # 6:  7.83 (   5.1)
ラップ # 7:  9.74 (  1.91)
ラップ # 8: 16.24 (  6.49)
ラップ # 9: 33.13 (  16.9)
ラップ #10: 33.79 (  0.66)^C
終了
%

0 コメント:

コメントを投稿