На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 8
ссылка на сообщение  Отправлено: 15.02.23 01:21. Заголовок: (№ 5391)


Ошибка в задании. Правильный ответ: 182
string = open('17-336.txt').readline() 
alphabet = 'ABC'
numbers = '0123456789'

maxcount = count = 0

for i in range(0, len(string) - 1):

if string[ i] in numbers and string[ i + 1] in alphabet and string[ i + 2] in numbers:
count += 1

elif string[ i - 1] in numbers and string[ i] in alphabet and string[ i + 1] in numbers:
continue

else:

if maxcount < count:
maxcount = count

count = 0

print(maxcount)


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 6 [только новые]


Администратор




Сообщение: 3896
ссылка на сообщение  Отправлено: 15.02.23 10:50. Заголовок: Ar3turrr пишет: stri..


Ar3turrr пишет:
 цитата:
string = open('17-336.txt').readline()

Вы перепутали файл или номер задачи. Нужно работать с файлом 24-215.txt.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 9
ссылка на сообщение  Отправлено: 15.02.23 11:28. Заголовок: Извините, забыл сказ..


Извините, забыл сказать. Этот тот же файл, просто с другим названием.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 3899
ссылка на сообщение  Отправлено: 15.02.23 12:03. Заголовок: Ar3turrr пишет: for ..


Ar3turrr пишет:
 цитата:
for i in range(0, len(string) - 1):

Тут нужно len(string)-2, иначе получите выход за границы массива на строке 3121B.
А на строке A23A2 ваша программа дает 0. А там есть подстрока 3A2, то есть правильный ответ 1.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 11
ссылка на сообщение  Отправлено: 15.02.23 14:37. Заголовок: Теперь выдаёт правил..


Теперь выдаёт правильный результат при строке "A23A2". Протестировал ещё на множестве вариантов, и код выдаёт правильный ответ, но ответ к файлу так и не выходит.
string = open('24-215.txt').readline() 
alphabet = 'ABC'
numbers = '0123456789'

maxcount = count = 0

for i in range(0, len(string) - 2):

if string[ i] in numbers and string[ i + 1] in alphabet and string[ i + 2] in numbers:
count += 1

if maxcount < count:
maxcount = count

elif string[ i] in alphabet and string[ i + 1] in numbers:
continue

else:
count = 0

print(maxcount)


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 3902
ссылка на сообщение  Отправлено: 15.02.23 22:13. Заголовок: Ar3turrr пишет: Тепе..


Ar3turrr пишет:
 цитата:
Теперь выдаёт правильный результат при строке "A23A2".

И неправильный на строке 2C2C3. Здесь одна цепочка, а ваша программа ловит две.
Вот правильное решение:
 
s = open('24-215.txt').readline()

B = ['A', 'B', 'C']
D = ['1', '2', '3']
maxLen = L = 0
for m in range(3):
for i in range(m,len(s)-2, 3):
if s[ i] in D and s[i+1] in B and s[i+2] in D:
L += 1
maxLen = max( L, maxLen )
else:
L = 0

print( maxLen )


___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 12
ссылка на сообщение  Отправлено: 16.02.23 15:53. Заголовок: Я понял в чём была о..


Я понял в чём была ошибка. Я считал, что 1B3C2 за 2 т.к думал, что надо считать именно комбинации вида 'Число + буква + число'. То есть у меня бы вышло 2 подходящих строки в таком примере: 1B3 и 3C2. Спасибо!

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 3362
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет