我有一个python列表,其中包含了一些数字,而且会不停的更新数字。例如,当1和2同时且连续3次出现在列表中时,我想输出True,当1和3同时且连续3次出现在列表中时,我想输出True,否则上述情况都输出False,我应该怎么写
时间: 2024-03-18 21:38:48 浏览: 24
基于Python实现手写数字识别【100012586】
5星 · 资源好评率100%
你可以使用一个计数器来记录数字出现的次数,如果连续出现3次就输出True,否则输出False。下面是一个例子代码:
```python
lst = [1, 2, 1, 2, 2, 1, 3, 3, 3, 4, 5, 6, 1, 2, 3, 1, 3, 3, 3]
count_1_2 = 0
count_1_3 = 0
for i in range(len(lst)-2):
if lst[i:i+3] == [1, 2, 2]:
count_1_2 += 1
elif lst[i:i+3] == [1, 3, 3]:
count_1_3 += 1
if count_1_2 > 0:
print(True)
elif count_1_3 > 0:
print(True)
else:
print(False)
```
在这个例子中,我们使用了两个计数器来分别记录1和2连续出现3次和1和3连续出现3次的情况。我们使用一个for循环来遍历列表,每次取出连续的3个数字,然后判断是否分别等于[1, 2, 2]和[1, 3, 3]。如果是,则对应的计数器加1。最后如果count_1_2或count_1_3大于0,则输出True,否则输出False。
阅读全文