Here's my (naive) solution:
list_1 = [True, True, True, True, False, False, True, False, True, True, False]
list_2 = [True, True, False, True, True, False, False, False, False, True, True, True]
list_3 = [False, False, False]
list_4 = [True, True, True]
list_5 = [False, False, False, True, True]
def min_successive_val_count(list_of_vals):
list_of_runs = []
counter = 0
for val in list_of_vals:
if val:
counter+=1
else:
if counter != 0:
list_of_runs.append(counter)
counter = 0
if list_of_runs:
return min(list_of_runs)
elif counter == len(list_of_vals):
return counter
elif list_of_vals[-1]:
return counter
else:
return "No True's in your list"
print(min_successive_val_count(list_1))
print(min_successive_val_count(list_2))
print(min_successive_val_count(list_3))
print(min_successive_val_count(list_4))
print(min_successive_val_count(list_5))
Output:
1
2
No True's in your list
3
2
good luck (hopefully my last edit ;)