嘿所以我正在制作一个需要白天/夜晚循环的程序。以下是我开始工作的功能:
def epoch():
for i in range(0,varb.run_number):
print("it is now day")
epoch_state = 1
yield epoch_state
time.sleep(varb.day_night_length)
print("it is now night")
epoch_state = 0
yield epoch_state
time.sleep(varb.day_night_length)
我发现它没有任何问题,但是当我打电话给它时,我得到了这个:
<generator object epoch at 0x01036670>
有关如何解决此问题的任何想法?
P.S。这里的想法是在打印状态并返回状态时运行循环
P.P.S。 varb的任何东西。是一个具有不重要数值的全局
答案 0 :(得分:0)
这里没有错误。该功能正常工作。
您使用yield
表达式创建了生成器函数。您现在需要遍历您的生成器。在此之前,生成器暂停。
您可以使用list()
:
result = list(epoch())
或for
循环:
for result in epoch():
print(result)