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

Найти самое длинное слово, вторая буква которого е

20.07.2022, 15:03. Показов 1326. Ответов 13

Студворк — интернет-сервис помощи студентам
Найти самое длинное слово среди слов, вторая буква которых есть "e"; если слов с наибольшей длиной
несколько, то найти последнее. Если таких слов нет вообще, то известить об этом. Решить эту задачу:
а) считая, что слова состоят не более чем из 10 символов;
б) без ограничения числа символов в слове.
Спер код отсюда:+++Найти самое длинное слово, начинающееся с согласной буквы, и поменять его с последним словом в строке (Pascal -> Python)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import re
 
original_word = input('Введите строку : ')
 
alphabet = (
    "".join([chr(i) for i in range(97,123)]) #en
    +"".join([chr(i) for i in range(65,90)]) #enBig
    +"".join([chr(i) for i in range(1040,1104)]) #ru
    )
 
vowels = 'EeЕееЕ' #перечислять гласные вручную
 
delimiters = ['.', ' ', ';', ':', '!', '?'] #перечислять разделители вручную
 
words = re.split("|".join(map(re.escape,delimiters)),original_word)
 
maxx = 0; max_index = None
for i in range(len(words)):
    if len(words[i])>maxx and words[i][0] in vowels:
        maxx = len(words[i])
        max_index = i
 
if max_index is not None:
    words[max_index], words[-1] = words[-1], words[max_index] #replace words
 
 
print('\nresult:',words[max_index])
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.07.2022, 15:03
Ответы с готовыми решениями:

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

Найти в тексте самое частое и самое длинное слово
Напишите программу, которая принимает текст и выводит два слова: наиболее часто встречающееся и самое длинное. входной данные строка

Найти самое длинное слово строки, вторая буква которого е
Дан символьный файл f. Найти самое длинное слово среди слов, вторая буква которых е. Если слов с наибольшей длинно Добавлено через 57...

13
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
20.07.2022, 15:36
Python
1
2
3
4
5
6
7
8
9
10
11
12
import string
 
s = """Найти самое длинное слово среди слов, вторая буква которых есть "e"; если слов с наибольшей длиной
несколько, то найти последнее. Если таких слов нет вообще, то известить об этом. Решить эту задачу:
а) считая, что слова состоят не более чем из 10 символов;
б) без ограничения числа символов в слове.
Код переделан..."""
 
s = s.translate(str.maketrans('', '', string.punctuation)).split()
words = list(filter(lambda x: (len(x)>1 and x[1].lower() == 'е'), s))
print(words)
(print(max(words[::-1], key=len)) if len(words) else print("нет таких слов"))
1
121 / 116 / 18
Регистрация: 05.08.2021
Сообщений: 506
20.07.2022, 16:11
Python
1
2
3
4
5
6
7
8
s = 'ввпап кевыва авпапарараа ревыпр в уеннo впеороророро вепр'.split()
#s = 'кнкнкн ккнккк7 аарар'.split()
res = list(filter(lambda x: x[1] == 'е',list(filter(lambda x: not len(x) < 2, s))))
if res:
    max_ = max(res, key=len)
    res2 = list(filter(lambda x: len(x) == len(max_),res))[-1]
else: res2 = False
print(res2 if res2 else 'таких слов нет')
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.07.2022, 16:44
Python
1
2
res = re.findall(r'\b\w\w\b', input()[::-1])
print(max(res, key=len)[::-1] if res else 'Нету')
0
0 / 0 / 0
Регистрация: 24.01.2022
Сообщений: 67
20.07.2022, 19:38  [ТС]
Подскажите, пожалуйста, а если я хочу, что бы s принимало не то значение, которое я задам ему в консоли, а передать в него текст из файла используя такой метод
Python
1
2
3
4
def longest_word(file_name):
    file = open(file_name,'r',encoding='utf-8')
    for line in file:
        words= line.split()
Фактически мне нужно записать в переменную s информацию из моего файла, в котором заранее заготовлен текст, и тогда уже произвести поиск самого длинного слова, вторая буква которого е.
Как это реализовать?
Заранее спасибо
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.07.2022, 19:45
вместо input() - file.read()
0
0 / 0 / 0
Регистрация: 24.01.2022
Сообщений: 67
20.07.2022, 20:40  [ТС]
Я заменил, но возникли ошибки с компиляцией, где я оступился?
Python
1
2
3
import re
res = re.findall(r'\b\w\w\b', file.read('f.txt'))
print(max(res, key=len) if res else 'Нету')
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
20.07.2022, 20:45
Цитата Сообщение от Zakhar_Titar Посмотреть сообщение
ошибки с компиляцией
раскройте тему

Добавлено через 3 минуты
Цитата Сообщение от Zakhar_Titar Посмотреть сообщение
file.read('f.txt')
не так, а примерно так
Python
1
2
3
4
file = r'I:\replaces\f.txt'
import re
res = re.findall(r'\b\w\w\b', file.read())
print(max(res, key=len) if res else 'Нету')
0
0 / 0 / 0
Регистрация: 24.01.2022
Сообщений: 67
20.07.2022, 21:29  [ТС]
Ругается, что :
line 3, in <module>
res = re.findall(r'\b\w*е\w\b', file.read())
AttributeError: 'str' object has no attribute 'read'
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
20.07.2022, 21:32
выкладывайте весь код, а не кусочек
0
0 / 0 / 0
Регистрация: 24.01.2022
Сообщений: 67
20.07.2022, 22:14  [ТС]
Python
1
2
3
4
import re
file = r'f.txt'
res = re.findall(r'\b\w\w\b', file.read())
print(max(res, key=len) if res else 'Нету')

Вот код, вот ошибка) Если задать переменной текст с консоли, то все работает
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
20.07.2022, 22:17
Цитата Сообщение от Zakhar_Titar Посмотреть сообщение
f.txt
находится в папке с проектом?
0
0 / 0 / 0
Регистрация: 24.01.2022
Сообщений: 67
20.07.2022, 22:30  [ТС]
Да,именно
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
20.07.2022, 22:36
Python
1
2
3
4
5
6
file = r'f.txt'
with open(file, encoding='utf-8') as f:
    data = f.read()
import re
res = re.findall(r'\b\w\w\b', data)
print(max(res, key=len) if res else 'Нету')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.07.2022, 22:36
Помогаю со студенческими работами здесь

Файлы. Найти самое длинное слово среди слов, вторая буква которого 'e'
Перевод сделан с помощью Google Translate Дан файл, компонентами которого являются символьные строки. Найти самое длинное слово среди...

Найти самое длинное слово среди слов, вторая буква которых 'E'
Дан символьный файл(имя вводится с клавиатуры). Найти самое длинное слово среди слов, вторая буква которых есть 'E'.Если слов с...

Найти самое длинное слово среди слов, вторая буква которых есть e
Даны натуральное число n, символы s1,...,sn. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри...

Дан символьный файл. Найти самое длинное слово среди слов, вторая буква которых есть Е
Ребятки привет.возникла проблема к началу сесии.Помогите пожалуйста решить задачу. Дан символьный файл . Найти самое длинное слово среди...

Найти самое длинное слово в строке среди слов, вторая буква которых - "e"
Дана строка символов. Группы символов, разделенные одним или несколькими пробелами и не содержащие пробелов внутри себя, назовем словами. ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
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 и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru