Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 23.11.2019
Сообщений: 71

Сломанная клавиатура

02.01.2020, 15:53. Показов 1838. Ответов 17

Студворк — интернет-сервис помощи студентам
При решении этих задач на С++ используйте класс std::string, не увлекайтесь char* и массивами char.

Задана строка, набранная на клавиатуре, в которой некоторые клавиши могут западать. Если в строке встречается три одинаковых символа подряд, то это говорит о вероятном проявлении поломки. Требуется исправить набранную строку, заменив все подстроки из трех или более подряд идущих одинаковых символов на два таковых. Например: "classss" -> "class", "oooooops" -> "oops", "foooobooo" -> "fooboo". Гарантируется, что в строке присутствуют только строчные латинские буквы.

Входные данные
В единственной строке входных данных задана набранная последовательность строчных латинских букв s (1≤|s|≤105).

Выходные данные
Выведите одну строку — исправленную последовательность символов.

Примеры
входные данные
classss
выходные данные
class

входные данные
oooooops
выходные данные
oops

входные данные
foooobooo
выходные данные
fooboo
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.01.2020, 15:53
Ответы с готовыми решениями:

Сломанная клавиатура. Залипание кнопки
Сэм пытается ввести свое имя на старом ноутбуке, но клавиши залипают, и при нажатии на клавишу буква может напечататься от 1 до 100 раз. ...

Задача "Сломанная клавиатура"
Доброго времени суток! Я решаю задачу на Codeforces https://codeforces.com/problemset/problem/1251/A. Написал решение на Python: t =...

Сломанная видюха
Всем доброго времени суток! Скорей всего вопрос надо задавать не сюда, но я попытаю счастье. В общем, я купил в начале января MSI 3070 x...

17
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
02.01.2020, 17:13
Python
1
re.sub(r'(\w)\1\1', r'\1', s)
0
0 / 0 / 0
Регистрация: 23.11.2019
Сообщений: 71
04.01.2020, 10:33  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Python

re.sub(r'(\w)\1\1', r'\1', s)
Программа говорит, что типа sub не может со строкой
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
04.01.2020, 11:16
CDRV, все ж просто-лень в пень, берем то,. что написал Рыжий Лис, чуть дописываем, не ленясь, решение готово:
Python
1
2
3
4
5
6
7
8
9
10
11
12
import re
 
 
def keybord(mstr):
    print(mstr)
    res=re.sub(r'(\w)\1\1', r'\1', mstr) # просто приравниваем выражение к строке и о чудо)))
    print(res)
 
 
if __name__ == '__main__':
    mstr = input()
    keybord(mstr)

Не по теме:


Рыжий Лис, решение классное(дописал, ибо народ ныне ленится ), а книжечку по регуляркам не подскажете(хочу изучить до уровня)?

0
0 / 0 / 0
Регистрация: 23.11.2019
Сообщений: 71
04.01.2020, 11:26  [ТС]
Цитата Сообщение от Dax Посмотреть сообщение
import re
def keybord(mstr):
    print(mstr)
    res=re.sub(r'(\w)\1\1', r'\1', mstr) # просто приравниваем выражение к строке и о чудо)))
    print(res)
if __name__ == '__main__':
    mstr = input()
    keybord(mstr)
Но 3 тест, приведенный здесь не выполняет.
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
04.01.2020, 11:38
CDRV, начнем с того, тест где?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
04.01.2020, 12:42
Цитата Сообщение от CDRV Посмотреть сообщение
Но 3 тест, приведенный здесь не выполняет.
Python
1
2
3
import re
for s in ("classss", "oooooops", "foooobooo"):
    print(re.sub(r'(\w)\1\1+', r'\1\1', s))
Code
1
2
3
class
oops
fooboo
1
0 / 0 / 0
Регистрация: 23.11.2019
Сообщений: 71
04.01.2020, 14:46  [ТС]
Цитата Сообщение от Dax Посмотреть сообщение
CDRV, начнем с того, тест где?
Цитата Сообщение от CDRV Посмотреть сообщение
входные данные
foooobooo
выходные данные
fooboo
этот тест

Добавлено через 1 минуту
Цитата Сообщение от pav1uxa Посмотреть сообщение
Python

import re
for s in ("classss", "oooooops", "foooobooo"):
    print(re.sub(r'(\w)\1\1+', r'\1\1', s))

Код
class
oops
fooboo
Эта программа вот так выдает:
f
o
o
o
o
b
o
o
o
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
04.01.2020, 15:12
Цитата Сообщение от CDRV Посмотреть сообщение
CDRV, начнем с того, тест где?
какаяя это тестирующая система?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
04.01.2020, 15:43
Цитата Сообщение от CDRV Посмотреть сообщение
Эта программа вот так выдает:
Нет. Я под кодом программы указал, что она выдает.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
04.01.2020, 15:57
Dax, регулярки:
1) https://tproger.ru/translation... on-python/
2) https://habr.com/ru/post/349860/
3) документация
1
0 / 0 / 0
Регистрация: 23.11.2019
Сообщений: 71
12.01.2020, 09:01  [ТС]
Какая программа то получается?? Ни одна тесты не прошла.
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
12.01.2020, 11:08
Цитата Сообщение от CDRV Посмотреть сообщение
Ни одна тесты не прошла
Какой тест?
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
12.01.2020, 11:21
pav1uxa, да это бесполезно, я уж спрашивал, молчит)ТС про тесты, ибо не зна ет)
0
0 / 0 / 0
Регистрация: 23.11.2019
Сообщений: 71
12.01.2020, 17:46  [ТС]
Цитата Сообщение от CDRV Посмотреть сообщение
входные данные
foooobooo
выходные данные
fooboo
Этот тест

Цитата Сообщение от pav1uxa Посмотреть сообщение
Какой тест?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
12.01.2020, 18:02
Цитата Сообщение от CDRV Посмотреть сообщение
Этот тест
Мой скрипт выполняет же все правильно

Если не верите вот доказательства

https://ideone.com/lGNVGZ
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.01.2020, 18:08
Цитата Сообщение от CDRV Посмотреть сообщение
Эта программа вот так выдает:
f
o
o
o
o
b
o
o
o
ОМГ. А какого ... ты в тестирующую систему пихаешь скрипт с циклом?
Тебе люди пример дали. И он - работает в своем контексте. Ты пример обдумай сначала.
У тебя в задании что написано. Введите строку. Цикл тут значит не нужен.
Минус в репу за тупость.
0
0 / 0 / 0
Регистрация: 19.01.2020
Сообщений: 41
25.01.2020, 22:44
Python
1
2
3
4
5
6
7
8
9
10
11
12
a=input()
d=a[0]
n = 1
for i in range (1,len(a)):
    if a[i] == a[i-1]:
        n=n+1
        if n<=2:
            d+=a[i]
    else:
        d+=a[i]
        n=1
print(d)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.01.2020, 22:44
Помогаю со студенческими работами здесь

Сломанная карусель
Здравствуйте, подскажите пожалуйста, что не так с каруселью http://kukuruznik.net &quot;ПРИМЕРЫ НАШИХ РАБОТ&quot;. Случилось следующее, была...

Сломанная ножка на сокете
Имеется плата GA-P43-ES3G. На ней сломана ножка в сокете. Плата стартует менее чем на одну секунду и уходит в ребут, так до бесконечности....

Fx8350 (сломанная ножка)
Добрый день, прошу вашей помощи. 1 человек( не знакомый, то есть доверия нету) предлагает мне купить процессор fx8350, но с оторванной...

Сломанная кодировка через MySQL
У меня есть вывод на сайт информации автомобиля через php. вывод из phpmyadmin. Во всех файлах есть строки наподобии &lt;meta...

Странная реклама, сломанная опера
Здравствуйте. Зашел на сайт, где по клику на ссылку(или не ссылку) открывается реклама. И мне довелось увидеть очень странный развод. На...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru