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)
Объяснение:
Вот, вроде бы так
1)
Visual Basic позволяет использовать знак операции
«+» или «&» для объединения двух строковых операндов (см. табл. 2.5). Результатом операции s+т (или S&T), где Бит имеют строковый тип, будет конкатенация бит — новая строка, результат добавления строки т в конец строки S.
Стандартные функции для работы со строками. Для работы с переменными строкового типа определены стандартные функции. Некоторые из них (наиболее часто используемые)
Рассмотрим примеры использования строковых функций.
1. Выделение первого слова в предложении (разделитель слов — знак «пробел»):
2. Удаление из строки всех цифр:
3. Подсчет количества букв 'W' в строке (независимо от регистра)
2)
Чтобы использовать эту функцию, введите =ДЛСТР(ячейка) в строку формул и нажмите клавишу ВВОД. В этих примерах ячейка — это ячейка, количество символов в которой нужно подсчитать, например B1. Чтобы подсчитать символы в нескольких ячейках, введите формулу, а затем скопируйте и вставьте ее в другие ячейки.
3)Метод indexOf() в Java
Метод indexOf() ищет в строке заданный символ или строку, и их возвращает индекс (т.е. порядковый номер). Метод:
возвращает индекс, под которым символ или строка первый раз появляется в строке;
возвращает (-1) если символ или строка не найдены.
Метод также может искать символ или строку, начиная с указанного индекса
a) (z >= -7) and (z <= 10);
б) (x mod 2 = 0);
в) (x <> 78);
г) (x mod 2 <> 0);
Ошибки в программе:
1) Переменная а объявлена как integer, т.е предназначена для хранения целочисленных значений. Но при этом в программе ей присваивают значение 4.13, которое не является целым числом.
Правильно будет объявить переменную а типа real;
2) После ключевого слова begin никогда не ставится точка с запятой;
3) Перед else не ставится точка с запятой;
4) После заключительного end требуется ставить точку.
Правильный вариант:
var
a:real;
begin
a:=4.13;
if (a+1 > 7) then write('a = ', a*3) else
write('a = ', a*6);
end.