首页 > 解决方案 > 如何创建一个循环,直到重复原始值?

问题描述

我正在读取一系列值,例如 4、5、5、6、6、6、7、6、4、5、6、7、6、5

第一个值将始终为 4,其他值将始终 >4,直到达到另一个 4。我想继续循环,但在到达下一个 4 之前停止。

所以我想要的输出是:4、5、5、6、6、6、7、6

for value in list:
    print(value)

我确定这很简单,但我想不出停止循环的逻辑

for value in list:
    print(value)
    
    if value == 4:
       break

如果我这样做,它当然会停在前 4 个。如何让逻辑忽略前 4 个并且仅在第一个循环周期后应用 value == 4 时?

标签: python

解决方案


我能弄清楚的最简单的逻辑。使用标志,如果满足值则设置它,但首先检查是否已设置。

lst = [4, 5, 5, 6, 6, 6, 7, 6, 4, 5, 6, 7, 6, 5]

four_met = False
for e in lst:
    if e == 4:
        if four_met:
            break
        four_met = True
    print(e)

推荐阅读