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

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

20.11.2018, 14:26. Показов 7726. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru