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

Определить, сколько слов текста заканчиваются на букву «а»

20.11.2018, 14:26. Показов 7693. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано текст. Определить сколько слов заканчиваються на букву «а»
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.11.2018, 14:26
Ответы с готовыми решениями:

Сколько в тексте слов начинаются и заканчиваются на одну и ту же букву
дан текст , сколько в тексте слов начинаются и заканчиваются на одну и ту же букву c++

Сколько в тексте слов начинаются и заканчиваются на одну и ту же букву
Дан текст. Сколько в тексте слов начинаются и заканчиваются на одну и ту же букву.

Определить, сколько фамилий в списке заканчиваются на букву «н».
Определить, сколько фамилий в списке заканчиваются на букву «н».(фамилии должен вводить пользователь)

5
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
20.11.2018, 20:35
Лучший ответ Сообщение было отмечено mdovbenuk как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
s = input('Введите текст: ')
n = 0
while s:
    offsetN = s.find('а')
    if offsetN == -1:
        break
    elif offsetN == (len(s) - 1):
        n += 1
        break
    elif s[offsetN+1] == ' ':
        n += 1
        s = s[offsetN+1:]
    else:
        s = s[offsetN+1:]
if n == 0:
    print('Слов заканчивающихся на "а" не найдено')
else:
    print('На "а" заканчивается %s слов(а)' % n)
пример:
Введите текст: папа мама и брат дома
На "а" заканчивается 3 слов(а)

Примечание: если за словом будет знак препинания, то слово не зачтется. Если и такие нужно учитывать, то нужно добавлять проверку на отсутствие буквы после "а".

Добавлено через 27 минут
А вот вариант учитывающий запятые и точки.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
s = input('Введите текст: ')
n = 0
while s:
    offsetN = s.find('а')
    if offsetN == -1:
        break
    elif offsetN == (len(s) - 1):
        n += 1
        break
    elif (s[offsetN+1] == ' ') or (s[offsetN+1] == chr(44)) or (s[offsetN+1] == chr(46)):
        n += 1
        s = s[offsetN+1:]
    else:
        s = s[offsetN+1:]
if n == 0:
    print('Слов заканчивающихся на "а" не найдено')
else:
    print('На "а" заканчивается %s слов(а)' % n)
Введите текст: папа, мама и брат дома.
На "а" заканчивается 3 слов(а)

Добавлено через 8 минут
Пожалуйста, если вариант ответа Вас устраивает, то отметьте как лучший.
1
151 / 86 / 35
Регистрация: 05.08.2017
Сообщений: 257
20.11.2018, 21:39
Цитата Сообщение от mdovbenuk Посмотреть сообщение
Дано текст. Определить сколько слов заканчиваються на букву «а»
Python
1
2
3
s = input().split()
res = list(map(lambda x: True if x.endswith("а") else False, s)).count(True)
print(res)
1
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
21.11.2018, 15:19
Вы из уважения к другим хотя бы тестировали свой вариант, прежде чем его предлагать.
В примере выше Ваш сценарий дает не верный результат:

папа, мама и брат дома.
1

На самом деле в этом примере слов оканчивающихся на "а" три. Ваш сценарий работает только на упрощенных текстах, где нет знаков препинания. Мой сценарий более универсален. Я не люблю примитивных, ограниченных частными случаями решений.
1
151 / 86 / 35
Регистрация: 05.08.2017
Сообщений: 257
21.11.2018, 16:21
Цитата Сообщение от Viktorrus Посмотреть сообщение
Вы из уважения к другим хотя бы тестировали свой вариант, прежде чем его предлагать.
В примере выше Ваш сценарий дает не верный результат:
папа, мама и брат дома.
1
На самом деле в этом примере слов оканчивающихся на "а" три. Ваш сценарий работает только на упрощенных текстах, где нет знаков препинания. Мой сценарий более универсален. Я не люблю примитивных, ограниченных частными случаями решений.
Ну вот тебе решение, не ограниченное частными случаями
Python
1
2
3
4
import re
s = input().split()
res = list(map(lambda x: True if re.sub(r"[.,]", "", x).endswith("а") else False, s)).count(True)
print(res)
Добавлено через 6 минут
Даже так лучше(изменил паттерн регулярки)
Python
1
2
3
4
import re
s = input().split()
res = list(map(lambda x: True if re.sub(r"\W", "", x).endswith("а") else False, s)).count(True)
print(res)
Добавлено через 2 минуты
Цитата Сообщение от Viktorrus Посмотреть сообщение
Я не люблю примитивных, ограниченных частными случаями решений.
Думаешь твой код универсален?
папа;;, мама;; и брат дома.
Вывод - 1
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
21.11.2018, 17:40
Ближе к реальности:
Python
1
len(re.findall(r'\b\w+?а\b',s))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2018, 17:40
Помогаю со студенческими работами здесь

В заданном тексте определить количество слов, которые заканчиваются на букву А
Помогите написать програму.. В заданном тексте определить количество слов, которые заканчиваются на букву А.

В заданном тексте определить количество слов, которые заканчиваются на букву А
Помогите перевести программу из АВС в Турбо Паскаль заранее спасибо.:declare: var s : string; i, k : integer; begin k :=...

Определить количество слов, которые начинаются и заканчиваются на одну и туже букву
Дано рядок, що складається з російських слів, розділених пробілами (одним або кількома). Визначити кількість слів, що починаються і...

Текстовые файлы: Определить количество слов, которые заканчиваются на определенную букву.
Здравствуйте. Вот такое задание: Определить коичество слов в файле, который заканчиваются буквой "y". Вывести строки файла,...

Определить, сколько слов заканчиваются буквой а
Дан набор слов, разделенных точкой с запятой ";". Набор заканчивается двоеточием ":". Определить, сколько в нем слов,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru