2016-04-22 21 views
-5

所以我在我的學校在Python中製作一個項目。我是python的新手,需要使用以下代碼進行循環的幫助。該代碼旨在開始一圈,然後打印時間結束。我試圖讓循環開始並無限次地詢問這個問題,直到它被告知這樣做。所以它應該做的事情:它詢問什麼時候開始,然後結束,當它被告知。我這樣做了,但現在我需要讓它循環,直到它被告知停止。製作一個循環,當被告知這樣做時打破

import time 

def end(): 
    end = time.time() 
    elapsed = end - start 
    print "%s seconds" % (elapsed) 

def lap(): 
    lapping = raw_input("lap? (l to lap)") 
    if lapping == "l": 
     end() 

starting = raw_input("start? (s to start)") 
if starting == "s": 
    start = time.time() 

ending = raw_input("end? (e to end)") 

if ending == "e": 
    end() 

lap() 
+2

請更正縮進。循環在哪裏? – jofel

+0

你到目前爲止學到了什麼關鍵詞,可以讓你做一個循環?你認爲你需要哪一個? – Sayse

+0

Stackoverflow用戶低估了這6次的恥辱。 沒有什麼比干掉noobs更好嗎? ... – Gewure

回答

1

您應該先看documentation。可以使用的循環是forwhile循環。

您可以嘗試使用for循環。

你的代碼有點不清楚,因此我不知道你是否需要在你的項目的代碼中保留你的函數。不過,下面是一個稍微相關的簡單的例子,(雖然它不使用你的功能,但可以很容易地修改,包括他們)

import time 

lapping = raw_input("How many laps do you want to do?") 

for i in range (lapping):  # The for loop repeats the following block of code 
    start = time.time() 

    print "You are on lap number %s" % (i) 

    ## can add more detailed code here for your specific application 

    end = time.time() 
    elapsed = end - start 

    print "Lap time: %s" % (elapsed) 
+0

這很有幫助。我能夠修改它,但是當我運行它時,它會顯示相同的圈數。它要求圈數做,然後說你在所有圈數的第8圈,然後顯示計算所需的時間,而不是詢問何時停止。我能夠解決時間問題,但我不知道如何讓數字從1開始,然後以輸入的數字結束。謝謝你的回答,所以它對我有很大的幫助。 –

1

我想你想達到這樣的事:

import time 

while True: 
    starting = raw_input("start? (s to start)") 
    if starting == "s": 
     start = time.time() 
     ending = raw_input("end? (e to end)") 
    if ending == "e": 
     break 

但是,很顯然,你錯過了一些關於如何在python中實現控制流的基本知識。請首先閱讀https://docs.python.org/2/tutorial/controlflow.html