Определите длину самой длинной цепочки, состоящей только из символов A, B и C

Есть файл в котором записаны буквы A...Z. Необходимо, определите длину самой длинной цепочки, состоящей только из символов A, B и C. Моя проблема в том, что код ищет только длину цепочки состоящую из одинаковых букв. Как можно исправить код?

file = open("2.txt").read().strip()
count = 1
max_count = 1
symbols = ""
for i in range(len(file)-1):
    if file[i] == file[i+1]:
        count += 1
    else:
         count = 1
    if count > max_count:
         max_count = count
         symbols = file[i]
print(symbols,max_count)

Ответы (3 шт):

Автор решения: Rendivy
file = open("4.txt")
st = file.read()
count = 0
max_count = 0
for x in st:
    if x in "ABC":
        count += 1
        if count > max_count:
            max_count = count
    else:
        count = 0
print(max_count)
→ Ссылка
Автор решения: Mikhailo

Можно сделать так:

file = open("2.txt").read().strip()
count = 0
max_count = 1
symbols = ""
for i in range(len(file)-1):
    if file[i] >= 'A' and file[i] <= 'C':
        count += 1
    else:
         count = 0
    if count > max_count:
         max_count = count
         symbols = file[i]
print(symbols,max_count)
→ Ссылка
Автор решения: Zhihar

вариант 1 (решение в лоб):

text = "XABXCABBBCAADBXXBAADX"

max_size = 0
size = 0
for letter in text:
    if letter in 'ABC':
        size += 1
    else:
        if max_size < size:
            max_size = size

        size = 0

if max_size < size:
    max_size = size

print(max_size)

вариант 2 (укороченный):

size, max_size = 0, 0

for letter in text:
    size, max_size = (size + 1, max_size) if letter in 'ABC' else (0, size if max_size < size else max_size)

max_size = size if max_size < size else max_size

вариант 3 (однострочный):

правда тут небольшой изврат и работает помедленнее предыдущего:

res = max(map(len, ''.join(letter if letter in 'ABC' else ' ' for letter in text)).split())

вариант 3.1 (чуть-чуть покороче):

res = max(map(len, ''.join((' ', letter)[letter in 'ABC'] for letter in text).split()))
→ Ссылка