仍然是Python中的NOOB。多次卡住。 脚本一个接一个地运行3个序列,每个序列持续20秒。 每个序列都有一个while循环。和一个超时声明。 然后它开始下一个循环,依此类推,直到结束 第三循环。然后退出。我想从顶部重新开始。 我可能有太多的while循环。
#!/usr/bin/env python
# Import required libraries
import time
# More setup
# Choose a matrix to use
mat = mat1
t_end = time.time() + 20
#Start loop
while time.time() < t_end:
# code
# loop timeout
# 2 more loops follow just like first one, except matrix becomes
mat = mat2
mat = mat3
答案 0 :(得分:0)
正如其他人已经评论过的那样,你应该在一个函数中做任何重复的任务。在Python中,使用&#34; def
&#34;定义函数。关键词。使用函数,可以按如下方式完成:
import time
# Replace these dummy assignments with real code
mat1 = "blah"
mat2 = "rhubarb"
mat3 = "custard"
def processMatrix(matrix, seconds=20):
t_end = time.time() + seconds
while time.time() < t_end:
pass # 'pass' does nothing - replace with your real code
processMatrix(mat1)
processMatrix(mat2)
processMatrix(mat3)
请注意,我还在时间/秒中包含了函数中的参数。这为您提供了更大的灵活性,以防您想要运行不同的测试时间或每个矩阵的不同时间等。但是,我已经使用默认值20
来完成它,这样您就不会# 39; t需要将它包含在函数调用中。如果你想覆盖你可以调用的默认值,例如
processMatrix(mat1, 5)
代替,
processMatrix(mat1)