所以我想把它想象成学校。我试图每分钟打印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
答案 0 :(得分:0)
你的第一个问题在于
if (tenMin==True):
您将函数引用与布尔值进行比较,显然答案为False。你必须传递一个参数
if (tenMIn(oldTime)):
...
答案 1 :(得分:0)
首先,您的代码存在一些问题:
else:
False
- 这不是python中的真正语法。
如果您想要计时器,为什么要求用户输入?
你有一个逻辑问题:
inTime = float(input("type in how many second"))
oldTime = time.time()-inTime
time.time是浮动是的,但用户是否真的知道在UnixTime中打印什么?
我会建议一个简单的解决方案它不是最好的但是它有效。 它将每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()