Предмет: Информатика,
автор: fanforschool
Подскажите пожалуйста, где в коде ошибка? Даю 90 балов
Задача №111314. Самое длинное слово
Дана строка. Найдите в этой строке самое длинное слово и выведите его. Если в строке несколько слов одинаковой максимальной длины, выведите первое из них. Решение оформите в виде функции LongestWord (S), возвращающей значение типа str.
Примеры
входные данные
In a hole in the ground there lived a hobbit.
выходные данные
ground
Приложения:
fanforschool:
Но все равно, балов за задачу уже больше, но есть одна ошибка, что при каком то условии она не справляется со временем. Делает слишком долго
trans = str.maketrans({p: ' ' for p in string.punctuation.replace('-', '')})
striping = string.punctuation+string.whitespace
def Looong(s):
s = s.strip(striping)
return max(s.translate(trans).split(), key=len) if s else ''
print(Looong(input()))
trans = str.maketrans({p: ' ' for p in punctuation})
striping = punctuation+' \t\n\r\x0b\x0c'
def Looong(s):
s = s.strip(striping)
return max(s.translate(trans).split(), key=len) if s else ''
print(Looong(input()))
Ответы
Автор ответа:
1
Python
import re
def LongestWord(s):
s=re.sub(r'[^\w\s]','', s)
s=s.split()
return max(s, key=len)
print(LongestWord(input()))
Похожие вопросы
Предмет: Русский язык,
автор: anz4
Предмет: Русский язык,
автор: Книжница1
Предмет: Русский язык,
автор: RistaS
Предмет: Математика,
автор: fixgam3
Предмет: Математика,
автор: DebiJI