🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
Вы участвуете в престижном литературном конкурсе. Жюри ценит не только глубину мысли, но и богатство языка. Чтобы произвести впечатление, вы решили проанализировать свое эссе и найти в нем самое длинное и самое короткое слово. Это поможет вам понять, насколько разнообразен ваш словарный запас.
Задача:
Напишите программу, которая принимает на вход одну строку текста (ваше эссе) и находит в ней самое длинное и самое короткое слово.
Правила и ограничения:
.,!?:;-"()') не должны учитываться при подсчете длины. Например, слово "привет," должно считаться как "привет" длиной 6 символов.
Одна строка текста (string), которая может содержать слова, пробелы и знаки препинания.
Самое длинное слово из текста (string). На следующей строке — самое короткое слово из текста (string).
Если слова не найдены, выводится одна строка "Слова не найдены." (string).
Привет, мир! Это очень-очень длинное слово и ещё одно слово.
очень-очень
и
# Заранее определяем строку со знаками препинания, которые нужно удалить
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)
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...