Termit .
Знаток
(462)
1 год назад
s = input().strip()
words = s.split()
min_length = float('inf')
max_length = 0
for word in words:
length = len(word)
if length < min_length:
min_length = length
shortest_word = [word]
elif length == min_length:
shortest_word.append(word)
if length > max_length:
max_length = length
longest_word = [word]
elif length == max_length:
longest_word.append(word)
shortest_word.sort(reverse=True)
longest_word.sort()
print(" ".join(shortest_word))
print(" ".join(longest_word))
snoopgoУченик (96)
1 год назад
и код выдает ошибку при запуске, проверьте пожалуйста на на грамотность
Termit .Знаток (462)
1 год назад
sentence = input().strip()
words = sentence.split()
shortest_word = min(words, key=len)
longest_word = max(words, key=len)
# compare words with equal length
if len(shortest_word) == len(longest_word):
shortest_word = min(shortest_word.lower() for shortest_word in words)
longest_word = min(longest_word.lower() for longest_word in words)
print(shortest_word)
print(longest_word)
В предложении необходимо найти самое короткое и самое длинное слово.
Формат входных данных
В первой строке содержится предложение, состоящее из слов,
разделенных пробелами. Каждое слово – это последовательность букв
английского алфавита. Слова могут отделяться друг от друга одним или
несколькими пробелами. Также один или несколько пробелов могут быть
как в начале, так и в конце предложения. Гарантируется, что в
предложении присутствует хотя бы два слова. Длина предложения может
быть от 1 до 106 символов.
Формат выходных данных
В первой строке выведите слово из заданного предложения, состоящее из
наименьшего количества букв. Если таких слов несколько, выведите
лексикографически наибольшее из них. Во второй строке следует вывести
слово, состоящее из наибольшего числа букв. Если таких слов несколько,
выведите лексикографически наименьшее из них.
Примеры
№ входные данные выходные данные
1 one two two
one
2 the pen is mightier than the sword is
mightier
3 No Man IS an IsLand an
IsLand
4 ab Ab AB aB ab
AB
(это таблица)
Пояснение
Чтобы лексикографически сравнить слова одинаковой длины, нужно
найти и отбросить максимальные совпадающие начала слов, после чего
сравнить первые из оставшихся букв. Меньшим будет слово, у которого
эта буква встречается раньше в алфавите. При этом любая строчная
(маленькая) буква считается лексикографически больше любой заглавной
(большой) буквы.