2013-07-20 63 views

回答

2

如果你從來沒有訪問變量,然後即使它隨着時間的推移而增加也不會很有用。所以你真正想要的是你可以通過某種方式訪問​​的東西,它會給你一個答案,就好像它隨着時間的推移而增加。但要做到這一點,你所需要做的就是從你開始的時候減去當前時間。

例如,你可以使用這樣的事情:

import time 

def make_ticker(): 
    start = time.time() 
    def elapsed(): 
     now = time.time() 
     return now-start 
    return elapsed 

然後開始它關閉後,所有你需要做的是寫a()而不是a

>>> a = make_ticker() 
>>> a() 
3.3126659393310547 
>>> a() 
5.144495010375977 
>>> a() 
7.766999006271362 

同樣,如果你想要計算已經過去的2秒週期數:

def make_ticker(seconds): 
    start = time.time() 
    def elapsed(): 
     now = time.time() 
     return (now-start)//seconds 
    return elapsed 

>>> a = make_ticker(2) 
>>> a() 
0.0 
>>> a() 
1.0 
>>> a() 
1.0 
>>> a() 
2.0 

(你可以簡單地修改從1開始。)

+0

感謝帝斯曼,它節省了我的時間 – dilip

1

如果你不擔心確切的時間,你可以睡2秒遞增這樣之間:

import time 

a = 1 

for i in range(10): 
    time.sleep(2) 
    print a 
    a += 1 

輸出:

1 
2 
... 
9 
10 
+0

其實我想輸出爲1,2,3,4,...只要我們調用函數。 – dilip

+0

更新的答案顯示 – 2013-07-20 13:37:30

相關問題