2017-06-23 1 views
0

私はcurrentSecond、分、時をif文のカウンタとして使用しようとしていますが、currentMinuteを出力するときの結果は負の場合があります。すべての浮動小数点数をintに変更してください。エラーは表示されません。正常に動作します。アルゴリズムに問題がありますか、達成しようとしている問題がありますか?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の各インスタンスをfloatという単語に置き換えただけなので – hhill

答えて

0

あなたは結果が求められているものに近いが、完璧ではないだろう数学をやった後だけCURRENTTIMEラインのために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) 
関連する問題