Форум » Обработка символьных строк » 24 3348 » Ответить

24 3348

framboise: Текстовый файл 24-j1.txt состоит не более чем из 106 кириллических символов К, О, Т. Определите максимальное количество подряд идущих комбинаций КОТ. в ответе правильный указан 75. Почему? Решение такое: f = open('26.txt', 'r') a = f.readline() k = 0 kmax = 0 i = 0 while i <= len(a) - 3: if a[i:i + 3] == 'KOT': k += 1 i += 3 if k > kmax: kmax = k continue else: k = 0 i += 1 print(kmax) ответ 3 Это можно проверить и более простым способом: f = open('26.txt', 'r') a = f.readline() kmax = 0 for i in range(1, 100): a1 = 'KOT'*i if a.count(a1) == 0: print(i -1) break ответ так же 3 Если учесть, что имелось ввиду вместо КОТ может быть ТОК, КТО, ТКО и ..., то это пересечением множеств if set(a[i:i + 3]) == set('KOT') дает в ответе 5

Ответов - 3

Поляков: 1) попробуйте проверить имя файла 2) символы из русского языка

framboise: Да, файл изменился, раньше там были и английские символы I

framboise: Все верно, 75




полная версия страницы