我正在寻找一种在完成后返回while循环的方法。
基本上,在我的主代码中,在开头,有一个while循环,我想做x次,然后退出并执行一些其他代码。如果满足某些值,则返回主要顶部的while循环。
这是我写的代码,但是一旦while循环完成,它就会停止。
t = 0
def main():
global t
try:
while t < 3:
distance = Tank_Measurement()
if distance > 5 and distance < 100:
print ('Distance:',distance ,'cm')
Pumping_to_Growbed()
time.sleep(2)
draining_Selenoid()
t = t + 1
else:
print ('Distance:',distance ,'cm is out of range')
time.sleep(1)
Tank_Measurement()
t = t + 1
return
distance = Tank_Measurement()
distance2 = growbed_Measurement()
if distance < 5 and distance2 < 5:
print ('Water level in main tank low')
print ('Filling up main tank')
time.sleep(1)
Pumping_to_mainTank()
t = 0
else:
t = 0
except KeyboardInterrupt:
print ('Exiting program gracefully')
for i in range(3,0,-1):
time.sleep(1)
sys.stdout.write(str(i)+' ')
sys.stdout.flush()
finally:
GPIO.cleanup()
main()
答案 0 :(得分:0)
将main()
的整个主体放在另一个另一个中,同时循环:
def main():
keep_looping = True
while keep_looping:
... original code here
if some_condition:
keep_looping = False
答案 1 :(得分:0)
一旦while循环结束,它就会停止
那是因为你有一个return
作为下一个语句。所以它返回到你调用main()
的位置,然后是你代码的最后一行,之后没有其他语句或代码。