🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
ProgerLib Python pour tous
Vous participez à un prestigieux concours littéraire. Le jury apprécie non seulement la profondeur de la pensée, mais aussi la richesse de la langue. Pour impressionner, vous avez décidé d'analyser votre essai et de trouver le mot le plus long et le plus court qu'il contient. Cela vous aidera à comprendre à quel point votre vocabulaire est diversifié.
tâche :
Écrivez un programme qui accepte une ligne de texte (votre essai) et trouve le mot le plus long et le plus court qu'il contient.
restrictions :
.,!?;:) ne sont pas pris en compte. Par exemple, le mot "Bonjour!" doit être considéré comme "Bonjour". "mot" et "Mot" sont considérés comme différents.
Une ligne de texte (chaîne de caractères), qui peut contenir des mots, des espaces et des signes de ponctuation.
Le mot le plus long du texte (chaîne). Sur la ligne suivante — Le mot le plus court du texte (chaîne).
Si les mots ne sont pas trouvés, une ligne "Mots non trouvés." (chaîne).
Bonjour, paix ! Voici un mot très, très long et un autre mot.
Très, très
et
# Заранее определяем строку со знаками препинания, которые нужно удалить
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)
🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
AD
Publicité
Exécution de votre code...