2017-10-06 71 views
0

我的編程老師給了我一個簡單的任務,創建一個程序,隨機產生一個1-100之間的數字3秒30秒。這是我的程序到目前爲止:我怎樣才能每x秒鐘重複一個程序x秒(在我的情況下,每3秒鐘爲30秒)

import random 
import time 

while True: 
    print(random.randint(0,100)) 
    time.sleep(3) 

目前,它只打印無限每隔3秒。我想讓它重複它只有30秒。

感謝您的考慮!

+1

所以隨時掌握時間。你理解變量的概念吧? –

+0

而不是'while True',你需要一個循環構造,迭代30/3或10次?這是每3秒x 10總計30秒。換句話說,你會有一個「經過秒數」的變量,當它達到30秒時,你會跳出循環。作業的目的是讓您查看Python文檔並確定如何迭代固定次數。 – lurker

+0

並且注意random.randint()和要求。目前你得到一個介於0和100之間的隨機數字。也許這不是這項任務的一個要點,但如果要求的範圍是「1-100」之間的話,我會因爲不遵循說明而指出問題。 – Dalen

回答

3
import random 
import time 
a=time.clock() 

while ((time.clock()-a)<30): 
    print(random.randint(0,100)) 
    time.sleep(3) 
+0

改爲使用time.time()。 time.clock()可能是不可預知的。 – Dalen

0

這是一個任務,所以我們不能爲你解決它。但是,我們可以引導您使用正確的模塊,即sched

0

利用time.time()函數。它會給你從1970年1月1日00:00:00(UTC)以來的秒數。

import random 
import time 

counter = 30 
start_time = time.time() 
while time.time() - start_time < counter: 
    print(random.randint(0,100)) 
    time.sleep(3) 
0

使用的範圍循環,像這樣:

import time 
import random 
a=time.clock() 
for x in range(10): 
    print(random.randint(1,100)) 
    time.sleep(3)