2013-02-10 67 views
0

那麼這裏有兩個問題。while循環,如果我在陳述中有兩個

首先,我試圖展示開始時間。我正在用program_time來做這件事。其次,我也想顯示流逝的時間。我也想在微秒內顯示。

import time 
a= time.time() 
print a 
while True: 
    program_time= time.time() 
    elapsed=program_time - a 
    for i in [program_time]: 
     print "%s\r" % i, 

在此先感謝。

+0

什麼給你帶來問題? – squiguy 2013-02-10 23:42:22

+0

你的問題是什麼? – BrenBarn 2013-02-10 23:43:31

+0

請注意,由於系統限制,time.time()'[可能僅返回秒](http://docs.python.org/2/library/time.html#time.time),而不是毫秒。 – acattle 2013-02-10 23:46:41

回答

1

你的代碼看起來幾乎是正確的。這應該顯示開始時間,以及每個隨後的程序時間作爲while循環進行(儘管非常快)。也許你需要在循環中執行一些計算?

import time 
a = time.time() 

print "Starting time is %s" % str(a) 

while True: 
    # Clear the screen each iteration to "recycle" the lines 
    print chr(27) + "[2J" 

    program_time = time.time(); 
    elapsed  = int(round((program_time - a) * 1000)) * 100 

    print "Start time is %s" % a 
    print "Elapsed time is %s" % elapsed 

    # Simulate some work 
    time.sleep(1) 
+0

我希望它能夠在一條線上而不是一條新線上循環編程時間和每個循環的運行時間......因此,我在一行顯示編程時間,並在另一行顯示耗時。 @louis – Nick1980 2013-02-10 23:51:17

+0

如果我正確理解你,你只是想讓相同的兩行不斷更新?請參閱編輯的代碼。 – Julio 2013-02-10 23:55:42

+0

@路易斯...謝謝 – Nick1980 2013-02-10 23:59:29

0

假設你的問題是「爲什麼我的程序輸出當前時間,而不是經過時間」的回答是「因爲program_time正在打印而非elapsed。」