Автор | Сообщение |
|
Отправлено: 29.03.23 20:36. Заголовок: 4525
Не могу понять, что делаю не так, но ответ получается 354. s = open('24-181.txt').readline() count = maxcount = dots = 0 for i in range(len(s)): if s[ i] == '.': dots += 1 if dots < 3: count += 1 if dots == 3: maxcount = max(count, maxcount) count = 1 dots = 1 print(maxcount)
|
|
|
Ответов - 10
[только новые]
|
|
|
Отправлено: 29.03.23 22:09. Заголовок: Для проверки своего ..
Для проверки своего алгоритма, надо взять свою строку (или несколько), которая позволит понять где может быть ошибка. Например: s='AA.AAA.AAAA.A' s='AA.AAA.AAAA.AAAAAA.A' s='AA.AAA.AAAA' Посчитайте вручную и с помощью своей программы и Вы увидите разницу.
|
|
|
|
Отправлено: 30.03.23 13:43. Заголовок: Попробовал код на ра..
Попробовал код на разных строках - всё выводит правильно. Для s='AA.AAA.AAAA.A' - 11(AA.AAA.AAAA), s='AA.AAA.AAAA.AAAAAA.A' - 11(AA.AAA.AAAA), s='AA.AAA.AAAA' - 11(AA.AAA.AAAA). Ответ всё равно получается не верным. s = open('24-181.txt').readline() count = maxcount = dots = 0 for i in range(len(s)): if s[ i] == '.': dots += 1 if dots < 3: count += 1 if dots == 3: maxcount = max(count, maxcount) count = 1 dots = 1 maxcount = max(count, maxcount) print(maxcount)
|
|
|
|
Отправлено: 30.03.23 18:14. Заголовок: Для третьей строки В..
Для третьей строки Вы нашли ошибку и исправили (в этой задаче она не влияет на ответ, но в других может). Для второй строки Вы не смогли найти максимальное количество идущих подряд символов, среди которых не более двух точек. Я просил посчитать вручную. У меня получилось 15.
|
|
|
|
Отправлено: 30.03.23 19:36. Заголовок: Aleksey6819 пишет: ..
Aleksey6819 пишет: цитата: | Я просил посчитать вручную. У меня получилось 15. |
|
Я посчитал, у меня вышло 11. В строке 'AA.AAA.AAAA.AAAAAA.A' часть AA.AAA.AAAA составит 11 символов, дальше идёт 3 точка(до этого было 2), поэтому с третей точки отсчёт пойдёт заново. В условии сказано найти длину символов, среди которых будет 2 или меньше точек.
|
|
|
|
Отправлено: 30.03.23 19:44. Заголовок: AA.AAA.AAAA.AAAAAA.A..
AA.AAA.AAAA.AAAAAA.A Я выделил жирным и красным цветом 15 символов, которые удовлетворяют заданию.
|
|
|
|
Отправлено: 30.03.23 20:26. Заголовок: Почему вы не считает..
Почему вы не считаете точку, которая стоит после АА? Отсчёт начинается с левой части AA.AAA.AAAA.AAAAAA.A. В условиях сказано, что нужно определить количество идущих подряд символов, среди которых не более двух точек. То есть не имеет значение должна быть точка перед промежутком, ведь нужно найти строки символов, в которых 2 точки.
|
|
|
|
Отправлено: 30.03.23 20:31. Заголовок: Несколько вопросов: ..
Несколько вопросов: 1. Символы, которые я выделил, идут подряд? 2. Количество точек в выделенных символах не больше 2?
|
|
|
|
Отправлено: 30.03.23 20:59. Заголовок: 1. Подряд 2. Не боль..
1. Подряд 2. Не больше двух Но разве мой пример не подходит под такие же условия?
|
|
|
|
Отправлено: 30.03.23 21:07. Заголовок: AA.AAA.AAAA.AAAAAA.A..
AA.AAA.AAAA.AAAAAA.A AA.AAA.AAAA.AAAAAA.A AA.AAA.AAAA.AAAAAA.A Так понятно? Вам надо найти максимальное количество подряд идущих символов, среди которых будет не более 2 точек.
|
|
|
|
Отправлено: 30.03.23 21:26. Заголовок: Я понял, что требует..
Я понял, что требуется. Спасибо за разъяснение!
|
|
|
|