Ваш код работает корректно и выводит ожидаемый результат для данного ввода.
✅Данный ответ дан с помощью ChatGPT
user_input = input("Введите строку: ")
words = user_input.split()
max_word = max(words, key=len)
max_len = len(max_word)
print(f"Самое длинное слово: {max_word}")
print(f"Длина этого слова: {max_len}")
Пользователь вводит строку, содержащую пробелы. Затем строка разбивается на слова, используя метод split(), и сохраняется в переменную words. Функция max() с аргументом key=len используется для поиска самого длинного слова из списка words. Затем находится длина этого слова с помощью функции len(). Выводится самое длинное слово и его длина. Если в строке есть несколько слов с одинаковой максимальной длиной, будет выведено первое из них.
Артём МунировУченик (198)
1 год назад
у меня ошибка:
Traceback (most recent call last):
File "D:\PyCharm Community Edition 2023.1.2\pythonProject\Skillbox\Module 18\a — копия.py", line 8, in <module>
w = max(input().split(), key = len)
TypeError: 'str' object is not callable
Что нужно сделать
Пользователь вводит строку, содержащую пробелы. Найдите в ней самое длинное слово, выведите его и его длину. Если таких слов несколько, выведите первое.
Пример 1
Введите строку: я есть строка.
Самое длинное слово: «строка».
Длина этого слова: 6 символов.
Пример 2
Введите строку: а б.
Самое длинное слово: «а».
Длина этого слова: 1 символ.
Пример 3
Введите строку: б.
Самое длинное слово: «б».
Длина этого слова: 1 символ.
мой код:
ls = input('Введите строку: ').split(' ')
max_len = max([len(x) for x in ls])
max_word = [x for x in ls if len(x) == max_len]
max = ''.join(max_word)
print(f'Самое длинное слово: "{max}"')
print(f'Длинна этого слова: {max_len}')
но если ввести 'a b' то он выведет:
самое длинное слово: "ab"
длинна этого слова: 1
ПОМОГИТЕ!