2017-06-23 70 views
0

我試圖使用currentSecond,分鐘和小時作爲if語句的計數器,但打印出currentMinute時的結果有時是負數,當我將所有的浮點數更改爲整數我沒有得到一個錯誤,它工作正常,是我的算法錯了,或者是我試圖完成的問題?python使用time.time()作爲我的程序的計數器

#assume some rate, for example 
rate=2.2 

startTime= float(time.time()) 
currentTime = (float(time.time())-startTime) * float(rate) 
currentHour = float(currentTime/3600) 
currentMinute = (float(currentTime-currentHour*3600)/60) 
currentSecond = float(currentTime-currentHour*3600-currentMinute*60) 
+0

爲什麼要將time.time()轉換爲float?它應該已經是一個浮動了。 – Hirsh

+0

,因爲我將它轉換爲一個int,並且我只用int替換了int的每個實例 – hhill

回答

0

如果您在執行數學運算後將當前時間行轉換回int,結果將接近所需但不完美,這就是我所做的。

#this will be a float 
rate=2.2 
#this is a float like hirsh said 
startTime= (time.time()) 
currentTime = int(time.time()-startTime) * float(rate)) 
currentHour = (currentTime/3600) 
currentMinute = (currentTime-currentHour*3600)/60 
currentSecond = (currentTime-currentHour*3600-currentMinute*60)