2013-02-10 50 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。”