2015-09-04 31 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