Почему решение не проходит скрытый тест? (обработка строк по условию задачи)
Я прохожу сейчас тестовые варианты и одно задание содержит вот такое условие:
Формат ввода
Вводится строка слов, записанных через двоеточие, окруженное пробелами. Формат вывода
Три строки:
слова короче 4 символов вывести в нижнем регистре в алфавитном порядке; в начале строки вывести
Short:слова длиннее 7 символов вывести в обратном алфавитном порядке; в начале строки вывести
Long:слова, в которых есть буква w, вывести с большой буквы, остальные маленькие в порядке ввода; в начале строки вывести
With letter:Слова в строках выводить через точку с запятой и пробел.
Вот тестовые примеры:
Вход:
Shattered : the : shards : caused : even : more : trouble : than : the : mirror : itselfВыход:
Short: the; the Long: Shattered With letter:
Вход:
How : disgusting : and : vicious : this : troll : isВыход:
Short: and; how; is Long: disgusting With letter: How
По двум примерам мой код прошел, а третий скрытый ни в какую:
words = input()
short_words = list()
long_words = list()
with_letter = list()
word_list = words.split(sep=' : ')
for word in word_list:
if len(word) < 4:
short_words.append(word.lower())
elif len(word) > 7:
long_words.append(word)
if "w" in word or "W" in word:
with_letter.append(word.capitalize())
short_words.sort()
long_words.sort(reverse=True)
print("Short:", "; ".join(short_words))
print("Long:", "; ".join(long_words))
print("With letter:", "; ".join(with_letter))
Ответы (1 шт):
if "w" in word.lower():
Эту строку надо было заменить на
if "w" in word():
Ведь там не просят изменять или проверять регистр