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

Смайлики

18.03.2020, 20:57. Показов 10121. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Смайлики
Напишите программу, которая посчитает количество смайликов в заданном тексте.

Смайликом будем считать последовательность символов, удовлетворяющую условиям:

первым символом является либо ; (точка с запятой) либо : (двоеточие) ровно один раз
далее может идти символ – (минус) сколько угодно раз (в том числе символ минус может идти ноль раз)
в конце обязательно идет некоторое количество (не меньше одной) одинаковых скобок из следующего набора: (, ), [, ].
внутри смайлика не может встречаться никаких других символов.
Например, нижеприведенные последовательности являются смайликами:


;---------[[[[[[[[

В то время как эти последовательности смайликами не являются (хотя некоторые из них содержат смайлики):

:-)]
;--
-)
::-(
:-()

В этой задаче требуется посчитать количество смайликов, содержащихся в данном тексте.

Входные данные

Вводится одна строка текста, которая может содержать маленькие латинские буквы, пробелы, символы, которые могут встречаться в смайликах. Длина строки не превышает 100 000 символов.

Выходные данные

Выведите одно число — количество смайликов, которые встречаются в тексте.

Примеры
Ввод
Вывод
;------[[[[[]
2


Помогите пожалуйста я не знаю в чем ошибка

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
a=input()
l=len(a)
s=0
i=0
h=0
while i<l:
    if (a[i]==';' or a[i]==':') and (a[i+1]!=';' and a[i+1]!=':'):
        i+=1
        if i>=l:
            break
        while a[i]=='-':
            i+=1
            if i>=l:
                h=1
                break
        if h==1:
            break
        if a[i]=='(' or a[i]==']' or a[i]=='[' or a[i]==')':
            s+=1
    i+=1
print(s)
Добавлено через 16 минут
Чуть-чуть подправил код, но всё равно не проходит
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
a=input()
l=len(a)
s=0
i=0
h=0
while i<l:
    if i+1<l:
        if (a[i]==';' or a[i]==':') and (a[i+1]!=';' and a[i+1]!=':'):
            i+=1
            if i>=l:
                break
            while a[i]=='-':
                i+=1
                if i>=l:
                    h=1
                    break
            if h==1:
                break
            if a[i]=='(' or a[i]==']' or a[i]=='[' or a[i]==')':
                s+=1
    i+=1
print(s)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.03.2020, 20:57
Ответы с готовыми решениями:

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

Как переделать во времени стандарнтыные цифры в смайлики?
подскажите пожалуйста, вот я хочу чтобы, когда я выводил время, чтобы показывалось в виде смайликов. как мне сделать это?

Смайлики в Python
Некоторые запросы комментариев выдавали ошибку при print(b.json()), поже я понял что во всем виноватые смайлики. import json не помогает....

5
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
18.03.2020, 21:13
на регулярки что ли задача?
0
1 / 1 / 0
Регистрация: 12.03.2020
Сообщений: 13
19.03.2020, 14:52
Этот код распознает смайлики. Нужно только их подсчитать
Python
1
2
3
4
text = input()
import re
smile = re.findall(r'[;:]-*(\(+|\)+|\[+|\]+)', text)
print (smile)
0
0 / 0 / 0
Регистрация: 18.03.2020
Сообщений: 7
20.03.2020, 16:41  [ТС]
А каким образом осуществлять подсчет, я просто не сильно понимаю код вашей программы
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
20.03.2020, 16:59
ItzNeq, len.
0
0 / 0 / 0
Регистрация: 24.03.2020
Сообщений: 1
24.03.2020, 20:10
ваш код не работает так как нужно,он не выводит смайлики
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2020, 20:10
Помогаю со студенческими работами здесь

смайлики на js
Доброго времени суток! я написал код, но что то пошло не так, в общем смотрите: &lt;center&gt;&lt;a...

Смайлики
Подскажите, как добавить картинку смайлика, так чтобы она встала посередине текста, то есть у меня мелкий шрифт, высота картинки выше...

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

Смайлики как в ВК
Как сделать такие же смайлики, чтобы в при вводе выводилось изображение, а не ВВ код. Предпочтительно готовое решение. :)

Смайлики в тексте
Вопрос, похоже, совершенно идиотский. Коллекция &quot;смайликов&quot; имеется. Можно ли их вставить в .doc текст, чтобы они &quot;работали&quot;, а...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru