2015-09-04 78 views
0

我希望我的程序計算每分鐘完成的作業數量。如何按時間劃分Python

以下是節目已經知道:

ORIGINAL_NUM_OF_TOTAL_JOBS =這是它被告知要完成 NUM_OF_TOTAL_JOBS_REMAINING就業人數=這是作業剩餘

print "\nTime Elapsed:" 
      TIME_ELAPSED = datetime.now() - STARTTIME 
      print TIME_ELAPSED 
      JOBS_PER_MINUTE = ORIGINAL_NUM_OF_TOTAL_JOBS - NUM_OF_TOTAL_JOB_REMAINING/TIME_ELAPSED 
      print "\nAttempts/minute: " 
      print JOBS_PER_MINUTE 

我知道邏輯數是不正確的,因爲我被「時間」劃分,時間並不需要=每分鐘,但我堅持下去。

輸出/從蟒

Time Elapsed: 
0:00:00.146000 
Traceback (most recent call last): 
    File "C:\Users\jlemming\Documents\NetBeansProjects\myscript.py\src\myscript.py", line 117, in <module> 
    ATTEMPTS_PER_MINUTE = ORIGINAL_NUM_OF_TOTAL_ATTEMPTS - NUM_OF_TOTAL_ATTEMPTS/TIME_ELAPSED 
TypeError: unsupported operand type(s) for /: 'int' and 'datetime.timedelta' 
+0

*嘗試的東西100次,它已經完成了50 /分鐘*應爲100個attemps /分鐘,完成了50 /分鐘**每分鐘不**的嘗試:50 – taesu

+0

沒有taesu,它已經100次總的嘗試,到目前爲止已經完成了50次,一分鐘過去了,那麼它應該打印「每分鐘嘗試次數:50次」。對不起,混淆 – jlemming

+0

...什麼?讀你寫的東西。每分鐘100次嘗試,每分鐘完成50次。 – taesu

回答

1

TIME_ELAPSED錯誤消息是一個datetime.timedelta對象(https://docs.python.org/2/library/datetime.html#datetime.timedelta)。它有方法total_seconds()。除以60以獲得以分鐘爲單位的時間。

TIME_ELAPSED = datetime.now() - STARTTIME 
minutes = TIME_ELAPSED.total_seconds()/60.0 
ATTEMPTS_PER_MINUTE = (ORIGINAL_NUM_OF_TOTAL_ATTEMPTS - NUM_OF_TOTAL_ATTEMPTS)/minutes 
+0

正是我想要的!謝謝!!! – jlemming