🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
ProgerLib Python para todos
Participas en un prestigioso concurso literario. El jurado valora no solo la profundidad del pensamiento, sino también la riqueza del lenguaje. Para impresionar, decidiste analizar tu ensayo y encontrar la palabra más larga y la más corta en él. Esto te ayudará a comprender cuán diverso es tu vocabulario.
tarea:
Escribe un programa que acepte una línea de texto (tu ensayo) y encuentre la palabra más larga y la más corta en él.
restricciones:
.,!?;:) deben ignorarse. Por ejemplo, las palabras "¡Hola!" y "Hola" se consideran iguales. "Sol" y "sol" se consideran diferentes.
Una línea de texto (cadena), que puede contener palabras, espacios y signos de puntuación.
La palabra más larga del texto (cadena). En la siguiente línea — la palabra más corta del texto (cadena).
Si no se encuentran palabras, una línea "No se encontraron palabras." (cadena).
¡Hola, paz! Esta es una palabra muy, muy larga y otra palabra.
Muy, muy
y
# Заранее определяем строку со знаками препинания, которые нужно удалить
punctuation = '.,!?:;-"()\''
# Получаем строку текста от пользователя
text = input()
# Преобразуем весь текст в нижний регистр для регистронезависимого сравнения
# и разбиваем его на отдельные слова по пробелам
raw_words = text.lower().split()
# Создаем пустой список для хранения очищенных слов
cleaned_words = []
# Используем цикл for для перебора каждого "сырого" слова
for raw_word in raw_words:
# Удаляем знаки препинания с начала и конца каждого слова
word = raw_word.strip(punctuation)
# Если после очистки слово не стало пустым, добавляем его в наш список
if word:
cleaned_words.append(word)
# Проверяем, нашлись ли в тексте какие-либо слова
if not cleaned_words:
# Если список пуст, выводим соответствующее сообщение
print("Слова не найдены.")
else:
# Инициализируем самое длинное и самое короткое слово первым словом из списка
longest_word = cleaned_words[0]
shortest_word = cleaned_words[0]
# Начинаем цикл со второго элемента, так как первый уже взят за основу
for word in cleaned_words[1:]:
# Условие для поиска самого длинного слова
# Оно становится новым самым длинным, если его длина больше
# ИЛИ если длины равны, но оно по алфавиту идет раньше
if len(word) > len(longest_word) or (len(word) == len(longest_word) and word < longest_word):
longest_word = word
# Условие для поиска самого короткого слова
# Оно становится новым самым коротким, если его длина меньше
# ИЛИ если длины равны, но оно по алфавиту идет раньше
if len(word) < len(shortest_word) or (len(word) == len(shortest_word) and word < shortest_word):
shortest_word = word
# Выводим найденное самое длинное слово
print(longest_word)
# Выводим найденное самое короткое слово на новой строке
print(shortest_word)
🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
AD
Publicidad
Ejecutando tu código...