


Помогите найти ошибку, пожалуйста
Паоло изучает русский язык: занимается по учебникам, читает книги, слушает музыку. Ему особенно понравилась книга «Преступление и наказание». Паоло решил найти самое длинное слово в этой книге, чтобы сравнить его с аналогом на своём языке.
Что нужно сделать
Напишите программу, которая получает на вход текст и находит длину самого длинного слова в нём. Слова в тексте разделяются одним пробелом.
Пример:
Введите текст: Меня зовут Пётр.
Самое длинное слово, букв: 5.
Введите текст: Меня зовут Василий
Самое длинное слово, 7 букв
text = input('Введите текст: ')
long_word = 0
count = 0
for symbol in text:
if symbol != ' ':
count += 1
else:
if count > long_word:
long_word = count
count = 0
print('Самое длинное слово из', long_word, 'букв')
я решила вот так, но если длинное слово вводится первым, то он его считает верно, а сели вторым и тд, то не считает. видит только первое слово. Не пойму где ошибка
Охота велосипеды изобретать? А что эти ваши шикарные решения будут делать, если в тексте есть запятые, точки, восклицательные знаки и другая пунктуация? В книге "П и Н" этого добра хватает, ведь Фёдор Михайлович Достоевский, как-никак, ЕГЭшником не был, в отличие от большинства недоделанных программистов на этом ресурсе.
Эта реализация найдёт все слова, чем бы они ни были разделены:
from re import compile, findall
s = input()
words = compile('([-\w]+)').findall(s)
print(len(max(words, key = len)))
Слова, включающие дефис ("как-никак", "во-первых" и др.), считаются одним словом.
text = input('Введите текст: ')
count = 0
max = 0
for i in text:
if i == ' ':
count = 0
else:
count += 1
if count > max:
max = count
print(max)
text = input('Введите текст: ')
long_word = 0
count = 0
for symbol in text:
if symbol != ' ':
count += 1
else:
if count > long_word:
long_word = count
count = 0
if count > long_word:
long_word = count
print('Самое длинное слово из', long_word, 'букв')
Теперь программа будет корректно работать даже если введенный текст не оканчивается на пробел.