如何让我的所有for循环同时运行

时间:2017-04-29 09:46:24

标签: python python-3.x for-loop wxpython ipython

我有几个for循环,它会以0.5秒的间隔闪烁对象5秒。我试图弄清楚如何让所有这些对象同时闪现,换句话说,我想同时运行所有的for循环。

需要帮助!

        count1=5

        for k in range (count1):
            error.setFill('grey')
            time.sleep(.50)
            error.setFill('orange')
            time.sleep(.50)

        for l in range (count1):              
            go.setFill('red')
            time.sleep(.50)
            go.setFill('green')
            time.sleep(.50)

        for m in range (count1):               
            warning.setFill('black')
            time.sleep(.50)
            warning.setFill('red')
            time.sleep(.50)

        for u in range (count1):
            Verify.setFill('green')
            time.sleep(.50)
            Verify.setFill('grey')
            time.sleep(.50)

        for w in range (count1):
            Launch.setFill('red')
            time.sleep(.50)
            Launch.setFill('green')
            time.sleep(.50)

2 个答案:

答案 0 :(得分:0)

这是一种简单的方法,假设setFill()足够快,因此它们似乎同时打开和关闭。

count1=5

for k in range (count1):
    # Turn on
    error.setFill('grey')
    go.setFill('red')
    warning.setFill('black')
    Verify.setFill('green')
    Launch.setFill('red')
    time.sleep(.50)
    # Turn off
    error.setFill('orange')
    go.setFill('green')
    warning.setFill('red')
    Verify.setFill('grey')
    Launch.setFill('green')
    time.sleep(.50)

在另一种情况下,您需要为每个灯创建一个新线程。

答案 1 :(得分:0)

看到所有循环都在count1范围内运行,为什么不在同一循环中运行所有命令,例如:

    count1=5

    for n in range (count1):
    # first line of each loop
        error.setFill('grey')
        go.setFill('red')
        warning.setFill('black')
        Verify.setFill('green')
        Launch.setFill('red')
    # pause and then third line of each loop
        time.sleep(.50) 
        error.setFill('orange')
        go.setFill('green')         
        warning.setFill('red')
        Verify.setFill('grey')
        Launch.setFill('green')
        time.sleep(.50)

然后,这会立即运行所有循环,或者更确切地说是在同一个循环中运行,并且需要更少的工作量和打字。希望有所帮助!