🎉 Parabéns! 🎉
Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.
ProgerLib Python para todos
Você participa de uma prestigiada competição literária. O júri aprecia não apenas a profundidade do pensamento, mas também a riqueza da linguagem. Para impressionar, você decidiu analisar sua redação e encontrar a palavra mais longa e a mais curta nela. Isso ajudará você a entender quão diverso é seu vocabulário.
tarefa:
Escreva um programa que aceite uma linha de texto (sua redação) e encontre a palavra mais longa e a mais curta nela.
restrições:
.,!?;:-) são ignorados. Por exemplo, as palavras "Hello!" e "Hello" são consideradas a mesma.
Uma linha de texto (string), que pode conter palavras, espaços e sinais de pontuação.
A palavra mais longa do texto (string). Na próxima linha — A palavra mais curta do texto (string).
Se as palavras não forem encontradas, uma linha "Palavras não encontradas." (string).
Olá, paz! Esta é uma palavra muito, muito longa e outra palavra.
Muito, muito
e
# Заранее определяем строку со знаками препинания, которые нужно удалить
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)
🎉 Parabéns! 🎉
Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.
AD
Publicidade
Executando seu código...