如何在python中停止for循环的迭代?(滑动窗问题)

无效的公园

当给定数组= [0.771,0.812,0.812,0.847,0.847,0.847,0.849,0.847,0.887,0.862,0.863,0.892,0.874,0.874,0.899,0.945,0.910,0.872,0.887,0.874,0.872,0.896,0.896 ,0.860、0.912、0.913、0.912、0.871、0.871、0.865、0.899、0.866]

我想通过滑动窗口算法找到最大值。(不是通过使用np.max())

n = len(array)k = 12(这是窗口大小)

这是代码:

for i in range(n-k):
max = arr[i]
for j in range (1, k):
    if arr[i+j] >= max:
        max = arr[i+j]
print(str(max) + "", end="")

这将给出输出= 0.892 0.892 0.892 0.899 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.913 0.913 0.913 0.913

根据输出,我们可以看到最大值为0.945。但是,当输出的最后一个元素小于先前的最后一个元素时,我想停止循环迭代。

0.892 0.892 0.892 0.899 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.945 0.913 0.913 0.913 0.913

我想停止for循环迭代的地方是粗体数字(0.913)。

谁能帮我编码这部分吗?谢谢

硕沃
globalValue = arr[0]
flag = False
for i in range(n-k):
    max = arr[i]
    if flag:
        break
    for j in range (1, k):
        if arr[i+j] >= max:
            max = arr[i+j]
    if max>=globalValue:
        print(str(max) + "", end="")
        globalValue = max
    else:
        print(str(max) + "", end="")
        flag = True

globalValue将存储打印的当前值并进行更新。flag将检查是否打印了较低的值。这样,您就可以解决您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我如何在python中停止循环迭代

如何在 Python 中停止这个循环?

如何在Python中的字母上创建循环迭代器?

如何在Python中打印出for循环的每个迭代?

如何在python中的for循环的迭代期间使异常

Python循环迭代问题

如何在Python中停止循环线程?

如何在Python中安全地停止无限循环?

如何在Python中为True时停止无限循环?

如何在 n 次迭代后停止 while 循环?

如何在每次迭代中让 for 循环等待?

如何停止在ScrollView中滑动?

如何限制Python中循环的迭代次数?

我如何控制python中for循环的迭代

循环滑动窗口迭代

如何在python的for循环中停止重复?

如何在hangman程序中停止循环?

如何在arduino中停止无效循环?

如何在Python的循环中更改for循环迭代器变量?

如何在Python中停止一个调度程序迭代

Python 循环问题,在某些迭代中未分配变量

如何在 FOR 循环的第一次迭代中访问索引 [i-1] [Python]

如何在Python中未知长度的列表上以级联格式(在for循环中)进行迭代?

如何在python中的for循环中创建多重迭代器和条件?

如何在python中存储下一个循环的迭代值

如何在 Python 中跳过单个循环迭代的一部分

如何在python / pandas中的循环中迭代使用变量名

如何在python中的循环(n次迭代)中使用异常处理,以便结果存储在文件中但循环不会终止?

如何在Ruby中循环的每次迭代中读取数字?