Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python help пожалуйста

Артём Муниров Ученик (198), закрыт 1 год назад
Задание 2. Самое длинное слово
Что нужно сделать
Пользователь вводит строку, содержащую пробелы. Найдите в ней самое длинное слово, выведите его и его длину. Если таких слов несколько, выведите первое.

Пример 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
ПОМОГИТЕ!
Дополнен 1 год назад
PYTHON 3.9
Лучший ответ
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (267593) 1 год назад
join склеивает слова в одно без пробела.
Артём МунировУченик (198) 1 год назад
и так и так будет выводить две буквы
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (267593) sentence = input('Введите строку: ') words = sentence.split(' ') max_len = max([len(word) for word in words]) max_words = [word for word in words if len(word) == max_len] max_word = max_words[0] # Берем первое самое длинное слово print(f'Самое длинное слово: "{max_word}"') print(f'Длина этого слова: {max_len} символов.')
Остальные ответы
Папа Высший разум (145098) 1 год назад
Тут эта задача постоянно публикуется.
 w = max(input().split(), key = len)
print(w, len(w), sep = '\n')
Словесное оформление ввода-вывода можешь сам добавить.
Артём МунировУченик (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
Папа Высший разум (145098) Артём Муниров, наверное, оставил часть своего говнокода, и на нём компиляция падает.
PKBelЗнаток (296) 1 год назад
В пример 1 посмотри, долбоящер

Пример 1

Введите строку: я есть строка.

Самое длинное слово: «строка».

Длина этого слова: 6 символов
thezukiru Гуру (2856) 1 год назад
Ваш код работает корректно и выводит ожидаемый результат для данного ввода.




✅Данный ответ дан с помощью 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
твой интимный гусь Мудрец (10304) 1 год назад
 print("Самое длинное слово: «{0}».".format(l:=max(input("Введите строку:").split(), key=len)), f"Длина этого слова: {len(l)} символов.", sep="\n") 
Артём МунировУченик (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
Ананьев Юра Ученик (229) 1 год назад
В решении можно использовать метод "isaplha" , который проверяет, состоит ли строка из букв. Кроме того, метод isalpha может использоваться для удаления всех не алфавитных символов из строки.


string = input('Введите текст: ').split()
max_word = ''

for word in string:
if len(word) > len(max_word) and word.isalpha():
max_word = word

print('Самое длинное слово: "', max_word, '"')
if len(max_word) == 1:
print('Длина этого слова:', len(max_word), 'символ')
else:
print('Длина этого слова:', len(max_word), 'символов')
PKBel Знаток (296) 1 год назад
import string
sentence = input('Введите строку: ')
output = sentence.translate(str.maketrans('', '', string.punctuation))
words = output.split(' ')
max_len = max([len(word) for word in words])
max_words = [word for word in words if len(word) == max_len]
max_word = max_words[0] # Берем первое самое длинное слово
print(f'Самое длинное слово: «{max_word}».')
print(f'Длина этого слова: {max_len} символов.')


Этот код полностью соответствует ответам в примерах задания.

Пример 1

Введите строку: я есть строка.

Самое длинное слово: «строка».

Длина этого слова: 6 символов.

Пример 2

Введите строку: а б.

Самое длинное слово: «а».

Длина этого слова: 1 символ.

Пример 3

Введите строку: б.

Самое длинное слово: «б».

Длина этого слова: 1 символ.
Похожие вопросы