你如何让两个函数在python中并行工作?

时间:2012-10-20 15:33:10

标签: python python-3.x

我对python非常陌生,正在我的学校上课,我被赋予了制作一个从1或2小时倒数的时钟的作业,并且还显示了整个时间的分钟和小时。我开始做代码并定义了2个函数,秒和分钟。秒数从60秒开始倒数,分钟完成同样的事情,除了从1分钟开始,我分别尝试了它们并且他们工作了,然后我一起尝试了它们,我无法让它们并排工作。如果我只是使用倒计时的变量,我怎样才能让他们这样做呢?任何帮助表示赞赏。

from time import *
def seconds():
    while 1==1:
        time_s = 60
        while time_s != 0:
            print (time_s)
            sleep(1)
            time_s=time_s-1

            os.system( [ 'clear', 'cls' ][ os.name == 'nt' ] )

def minutes():
    while 1==1:
        time_m = 60
        while time_m!= 0:
            print (time_m)
            sleep(60)
            time_m = time_m-1`

此外,缩进可能会搞砸。

3 个答案:

答案 0 :(得分:2)

因为一分钟有六十秒。您无需单独计算它们。只计算总秒数并除以60以显示分钟数,然后以模60来显示秒数。

答案 1 :(得分:0)

我认为您的程序需要对线程进行大量更改

这个链接可以帮助你: - )

http://www.doughellmann.com/PyMOTW/threading/

答案 2 :(得分:0)

您想要的完整计划

    import threading
    import logging
    import time

    time_m=60
    time_s=60
    time_h=24

    print ('Karthick\'s death Clock Begins')

    def seconds():
       while 1==1:
          global time_s,time_m,time_h
          time_s = 60
          while time_s != 0:
              print (time_h,':',time_m,':',time_s)
              time.sleep(1)
              time_s=time_s-1

              os.system( [ 'clear', 'cls' ][ os.name == 'nt' ] )

    def minutes():
        while 1==1:
            global time_m
            time_m = 60
            while time_m!= 0:
                time.sleep(60)
                time_m = time_m-1

    def hours():
        while 1==1:
            global time_h
            time_h = 24
            while time_h!= 0:
                time.sleep(360)
                time_h = time_h-1

m=threading.Thread(name='minutes',target=minutes)
s=threading.Thread(name='seconds',target=seconds)
h=threading.Thread(name='hours',target=hours)

m.start()
s.start()
h.start()

享受编程: - )!