Найти сколько раз встречается символ в строке
Пользователь
Регистрация: 03.12.2018
Сообщений: 83
Определить, как часто встречается определенный символ в строке.
Здравствуйте, мне нужна помощь.
вот задача: Дана строка. Определить, как часто встречается определенный символ в строке.
я не могу найти формулу, как посчитать этот определенный символ в строке
помогите пожалуйста
язык си
Мария19043 |
Посмотреть профиль |
Найти ещё сообщения от Мария19043 |
Регистрация: 15.02.2010
Сообщений: 15,709
Какая формула? В цикле от 0 до длины строки если текущий символ равен нужному, то увеличить счетчик.
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определить, сколько раз каждый символ встречается в файле через многопоточность | olena_nov | Общие вопросы C/C++ | 1 | 01.02.2018 12:59 |
Помогите решить задачку на паскаль: Даны n символов, нужно подсчитать сколько раз в строке встречается произвольный символ(вводится с клавиатуры) | Grisai | Помощь студентам | 4 | 08.12.2016 11:22 |
нужно написать программу в с++. определить длину строки и определить сколько раз встречается буква П в строке. | chit | Помощь студентам | 4 | 11.07.2015 14:03 |
Дана строка.найти в строке символ который встречается только один раз. | Un1q | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 09.12.2013 13:23 |
Как подсчитать сколько раз встречается символ в строке? | zver777 | Общие вопросы Delphi | 10 | 10.01.2010 00:57 |
Сколько раз строка встречается в тексте
Узнать, сколько раз строка встречается в тексте можно через функцию substr_count() .
$text = 'This is a PHP'; substr_count($text, 'is'); // 2
На примере выше строка «is» встречается 2 раза (This is a PHP).
Если строка не будет найдена, то функция вернёт число «0».
Через третий параметр можно указать, откуда начинать искать строку в тексте.
$text = 'This is a PHP'; substr_count($text, 'is', 3); // 1
На примере выше функция возвращает «1», т.к. поиск строки начинается с третьего символа, после которого «is» встречается только один раз.
Обновлено: 14 мая 2021
- Вывести текст
- Регистр текста
- Количество символов
- Проверить наличие текста в строке
- Определить первую и последнюю букву в строке
- Сколько раз строка встречается в тексте
- Склонение во множественное число
- Закодировать строку как пароль
- Сгенерировать случайную строку
- Повторить строку несколько раз
- Подсветка кода (GeSHi)
Как посчитать сколько раз символ встречается в строке? [закрыт]
Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос. Пожалуйста, отредактируйте вопрос и укажите, что именно вызвало у вас трудности при решении задачи. Например, приведите код, который вы написали, пытаясь решить задачу
Закрыт 6 лет назад .
Дана строка s = ‘good shene’, надо создать словарь, где для всех символов, встречающихся в строке, хранится число: сколько раз символ встретился в строке. Для решения задачи надо использовать генератор.
Отслеживать
693 2 2 серебряных знака 15 15 бронзовых знаков
задан 25 окт 2017 в 19:55
goggle lesha goggle lesha
41 1 1 золотой знак 1 1 серебряный знак 4 4 бронзовых знака
‘abcabcabd’.count(‘c’) или ‘abcabcabd’.count(‘abc’) . А вообще такие вещи гуглом за 10 секунд находятся. 😉
25 окт 2017 в 20:00
@MaxU в ответ его! 🙂
25 окт 2017 в 20:06
@ВладимирМартьянов, добавил на тот случай если кто-то из гугла сюда прийдет.
25 окт 2017 в 20:09
@MaxU строка уже задана, например для строки s = ‘good shene’ создать словарь, где для всех символов, встречающихся в строке, хранится число: сколько раз символ встретился в строке. нужно использовать генераторы, чтобы решить задачу в одну строку.
25 окт 2017 в 20:12
@gogglelesha, нажмите кнопку «править» и исправьте вопрос.
25 окт 2017 в 20:13
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Ответ на вопрос после правки:
In [17]: s Out[17]: 'good shene' In [18]: Out[18]:
Классический вариант решения (если нет обязательного условия использовать генераторы):
In [23]: from collections import Counter In [24]: c = Counter(s) In [25]: c Out[25]: Counter() In [26]: c.most_common(1) Out[26]: [('o', 2)]
Ответ на вопрос до правки:
In [3]: 'abcabcabd'.count('c') Out[3]: 2 In [4]: 'abcabcabd'.count('abc') Out[4]: 2 In [5]: 'abcabcabd'.count('abd') Out[5]: 1
тоже самое можно проделать с переменными:
In [6]: s1 = 'aaabbbcccdxyz' In [7]: s2 = 'a' In [8]: s1.count(s2) Out[8]: 3 In [9]: s1.count('xyz') Out[9]: 1
Сколько раз буква встречается в строке
Программа принимает на вход строку и букву. Надо определить (с использованием рекурсии), сколько раз данная буква встречается в строке.
Решение задачи
- Принимаем на вход строку и букву, записываем их в разные переменные.
- Передаем эти переменные в качестве аргументов в рекурсивную функцию.
- В качестве базы рекурсии примем условие, что строка является непустой.
- Если строка является непустой, то работа функции продолжается и мы смотрим, совпадает ли первый символ строки с проверяемой буквой, или нет. Если совпадает, то мы увеличиваем счетчик на единицу.
- Далее мы передаем строку без первой буквы снова в функцию, и все повторяется заново.
- Когда строка станет пустой, функция вернет нам количество вхождений буквы в строке. Выведем этот результат на экран.
- Конец.
Исходный код
Ниже дан исходный код программы для рекурсивного определения количества вхождений буквы в строку. Результаты работы программы также даны ниже.
def check(string, ch): if not string: return 0 elif string[0] == ch: return 1 + check(string[1:], ch) else: return check(string[1:], ch) string = raw_input("Введите строку:") ch = raw_input("Введите букву для проверки:") print("Количество вхождений:") print(check(string, ch))
Объяснение работы программы
- Пользователь вводит строку и букву, которые записываются в отдельные переменные string и ch .
- Далее эти переменные передаются в качестве аргументов в рекурсивную функцию check() .
- Для того чтобы функция продолжала свою работу, необходимо, чтобы строка была непустой. Если строка является пустой, функция завершает свою работу и возвращает 0 .
- На следующем шаге рекурсивная функция проверяет, совпадает ли буква в переменной ch с первой буквой в строке. Если совпадает, то в выходное значение добавляется 1 , к которой прибавляется функция check() , в которой в качестве аргумента передается наша строка, но уже без первой буквы. Если нет, то просто вызывается функция check() , где в качестве аргумента также строка без первой буквы.
- Так повторяется до тех пор, пока строка не станет пустой.
- После этого результат выводится на экран.
Результаты работы программы
Пример 1: Введите строку:abcdab Введите букву для проверки:b Количество вхождений: 2 Пример 2: Введите строку:hello world Введите букву для проверки:l Количество вхождений: 3