Решение задачи 'Самое длинное слово' по теме 'Чтение и запись данных. Функция open'

preview_player
Показать описание
Условие задачи

Чтение и запись данных. Функция open
Рекомендации по теме
Комментарии
Автор

Все подробно, особенно порадовал комментарий про что точку, что на обозначает конец предложения.
Split'ом можно не только по пробелу дробить строку.

mironovvova
Автор

Функцию удаления пунктуации можно заменить методом strip(), хотя если в самом слове есть пункт.символы, то удалять их через проход по каждому символу слова надежнее.
from string import punctuation
def
longest_word = ''
with open(file_name, 'r', encoding='utf-8') as f:
for word in f.read().split():
word = word.strip(punctuation)
if len(word) >= len(longest_word):
longest_word = word

return longest_word

dbremdm
Автор

Дикая ситуация, подскажите пожалуйста, кто знает в чём проблема:
Взял решение Егора, но был затык в pycharm, код не работал по дополнительной функции. Исправил, в pycharm работает, а степик всё ровно не принимает.

def
file = open(file_name, 'r', encoding='utf-8')
word_len = ''
for row in file:
words = row.split()
for word in words:
words_clear = clear(word)
if len(words_clear) >= len(word_len):
word_len = words_clear

return word_len


def clear(word):
from string import punctuation
for pun in punctuation:
if pun in word:
new_word = word.replace(pun, '')
return new_word
else:
return word

Strongflight
Автор

спасибо долго думал над условием что то сидел тупил немог придумать len(word_withoun_punc) >=len(max_world) оригинально))

evgeniysergeevich
Автор

Хм... Я до конца так и не вдуплил точную суть.В решении автора, если подать слова вот так: food, asert, оно все будет как одно слово food asert.
Хотя по идее это 2 без пробела но разделенные запятой.

shinigami_yokoso