Добрый день! Помогите, пожалуйста, найти ошибку в программе♡Python

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых не более одной буквы D.

f=open('C:/Users/7777/Downloads/24 (3).txt')


s=f.readline()


k=0

maxK=0

p=''

for c in s:

p+=c

if p.count('D')<=1:

k+=1

maxK=max(maxK,k)

else:

k=0

p=''

print(maxK)



Буду очень признательна за помощь)))♡


mcuhov: Если не трудно, напишите с отступами пожалуйста)

Ответы

Ответ дал: mcuhov
1

f = open('C:/Users/7777/Downloads/24 (3).txt')

s = f.readline()

k = 0

maxK = 0

p = ''

for c in s:

   p += c

   if p.count('D') <= 1:

       k += 1

       maxK = max(maxK, k)

   else:

       p = p[:-1].split('D')[-1] + 'D'

       k = len(p)

print(maxK)

А это более сокращённый вариант:

k = 0

maxK = 0

temp = ''

for item in open('C:/Users/7777/Downloads/24 (3).txt').readline():

   temp += item

   if temp.count('D') <= 1:

       k += 1

       maxK = max(maxK, k)

   else:

       temp = temp[:-1].split('D')[-1] + 'D'

       k = len(temp)

print(maxK)

Объяснение:

Вот, вроде бы так


mcuhov: Если что не понятно, спрашивайте
Вас заинтересует