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

тема 24 задание 136

elpov06: 136) (Е. Джобс) Текстовый файл 24-J5.txt состоит не более чем из 106 символов S, T, O, C, K. Сколько раз встречается комбинация «OCK», не являющаяся при этом частью комбинации «STOCK». Подскажите пожалуйста, почему на столько отличается ответ в решении и в чем у меня логическая ошибка, в решении представленном на сайте К.Ю. Полякова (в решениях) считается просто print(s.count('OCK') - s.count('STOCK')), а я проверяю по буквам и у меня далеко не сходится ответ [pre2] # Автор: В.Н. Шубинкин with open('24-j5.txt') as tf: s = tf.readline() print(s.count('OCK') - s.count('STOCK')) k=0 for i in range(0,len(s)-4): if ((s[ i-2]!="S" and s[ i-1]!="T") and s[ i]=="O" and s[ i+1]=="C" and s[ i+2]=="K") : k=k+1 print(k) [/pre2]

Ответов - 1

Поляков: Вот правильный вариант: [pre2] k=0 for i in range(2,len(s)-2): if ((s[ i-2] != "S" or s[ i-1]!="T") and s[ i]=="O" and s[ i+1]=="C" and s[ i+2]=="K") : k=k+1 print(k)[/pre2]



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