在被告知这样做时打破一个循环

时间:2016-04-22 09:45:04

标签: python python-2.7

所以我在我的学校里用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 个答案:

答案 0 :(得分: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)

答案 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