2

我是 Python 的初学者,我正在尝试编写一段代码,在经过一定时间后,它将打印经过的时间。这似乎是一个简单的问题,但我遇到了麻烦。这是代码:

    from time import time  
    start=time()  
    y=1

    while (y==1):  
        if time()-start>2000000000:  
            print time()  
            y=y+1  
        else:  
            print"???"

我得到的只是问号。怎么了?

4

2 回答 2

1

您必须等待超过 63 年才能看到print time()输出而不是问号。

time()以秒为单位输出自纪元以来的时间。2,000,000,000(20 亿)秒是很长的等待时间!如果你现在开始,它将在 2076 年 4 月 17 日完成。

于 2012-12-01T18:55:17.863 回答
0

替换print "???"pass或完全删除该else:子句,代码将起作用(一旦将等待时间更改为更合理的值)。

但是,您的循环将花费 100% 的可用 CPU 功率。所以print "???"用小睡眠来代替是个好主意,比如time.sleep(.01).

此外,您可以使用while True循环并使用 退出循环break,这将消除对y变量的需要。

于 2012-12-01T18:55:51.430 回答