【发布时间】:2018-05-06 12:24:03
【问题描述】:
我正在尝试根据输入条件运行两个 while 循环。在此示例中,将其取出并替换为1 == 0,以便可以来回更改0 以进行测试。选择后,每个while 循环应运行10 秒,然后再次检查输入条件(替换为1 == 0)。
问题似乎在于时间比较,因为它永远不会正确评估。我错过了什么?
#!/usr/bin/env python3
import time
import os
import bellmod
while True:
starttime = time.time()
print("Start time " + str(starttime)) #Time check
elapsedtime = 0 #Reset elasped time to 0 for each loop iteration.
if 1 == 0: #Change this to run either loop. See if remote or local has precidence.
while(elapsedtime < 10):
print("Inside remote while " + time.strftime("%H:%M:%S")) #Time check
elapsedtime = time.time() - starttime #Calculate elasped time.
else:
elapsedtime = 0
while(elapsedtime < 10):
print("inside bottom of local while " + str(int(time.time() - starttime))) #Time check
elapsedtime = time.time() - starttime #Calculate elasped time.
【问题讨论】:
-
用
time.sleep(10)等十秒不是更简单吗? -
@hoefling:那你什么也做不了。
-
仔细查看缩进。你觉得
elapsedtime什么时候更新? -
@MartijnPieters:哦,我明白了——睡觉意味着睡觉时没有指纹......
-
当你得到解决方案时,请记得给有用的东西投票并接受你最喜欢的答案(即使你必须自己写),这样 Stack Overflow 才能正确存档问题。跨度>
标签: python time while-loop nested