每分钟打印出一封信Python

时间:2013-10-22 07:23:02

标签: python printing repeat

所以我想把它想象成学校。我试图每分钟打印x,每十分钟打印一次,它将在新线上打印。到目前为止,我不能每分钟都得到“打印x”。有人可以帮忙吗 这是我的代码

import time;
inTime = float(input("type in how many second"))
oldTime = time.time()-inTime


print (time.time())

def tenMin(oldTime):
    newTime = time.time()
    if ((newTime - oldTime)>= 25):
        return True
    else:
        False

while (True):
        if (tenMin==True):
            print ("x")
            newTime = time.time()
            oldtime = time.time()
else:
    oldTime = time.time()
    continue

2 个答案:

答案 0 :(得分:0)

你的第一个问题在于

if (tenMin==True):

您将函数引用与布尔值进行比较,显然答案为False。你必须传递一个参数

if (tenMIn(oldTime)):

...

答案 1 :(得分:0)

首先,您的代码存在一些问题:

  1. else: False - 这不是python中的真正语法。

  2. 如果您想要计时器,为什么要求用户输入?

  3. 你有一个逻辑问题:

    inTime = float(input("type in how many second"))

    oldTime = time.time()-inTime

    time.time是浮动是的,但用户是否真的知道在UnixTime中打印什么?

  4. 我会建议一个简单的解决方案它不是最好的但是它有效。 它将每1分钟打印一次“x”,10分钟后将打印“\ n”(新行)

    import time
    
    def main():
    
        #both timers are at the same start point
        startTimerTen = time.time()
        startTimerMin = startTimerTen
    
        while True:
            getCurrentTime = time.time()
            if getCurrentTime - startTimerTen >= 600:
                # restart both parameters
                startTimerTen = getCurrentTime
                startTimerMin = getCurrentTime
                print "This in 10 min!\n"
            if getCurrentTime - startTimerMin >= 60:
                # restart only min parameter
                startTimerMin = getCurrentTime
                print "x"
    
    
       #end of main
    if __name__ == "__main__":
        main()