Как правильно реализовать программу, которая принимает несколько предложений, разделяемых символом табуляции ('\t'), использует метод strip() для удаления пробельных символов в начале и в конце каждого предложения, подсчитывает количество повторений каждого предложения и выводит на экран число наибольшего количества повторений? Например, для входных данных "Interpreter is a computer program that performs instructions without previously compiling them into a machine language program\tlinker is a program that takes one or more object files generated by a compiler and combines them into a single executable file library file or another object file\tthe linker also takes care of arranging the objects in a program's address space\tthe linker also takes care of arranging the objects in a program's address space", корректный ответ должен быть 2, но в моей текущей реализации выводится 7. Примечание: В моей попытке я использовала следующий код: ```python a = (input('Введите данные: ').strip()).split() res = {} for i in a: res[i] = res.get(i, 0) + 1 print(max(res.values())) ```
Для вычисления общего количества строк и определения максимального числа повторяющихся строк, а также для реализации программы по заданию, можно использовать следующий подход: Используйте метод `split('\t')` для разделения предложений, а не `split()`. Метод `split()` разделяет строку на подстроки с использованием пробела в качестве разделителя по умолчанию, что приводит к неправильному подсчёту предложений, так как слова внутри предложения тоже считаются отдельными подстроками. Код может выглядеть следующим образом: ```python # Ввод данных с разделением по символу табуляции a = input('Введите данные: ').split('\t') # Словарь для подсчёта количества повторений предложений res = {} # Проход по каждому предложению с использованием strip() for i in a: i = i.strip() # Удаление пробельных символов в начале и конце предложения res[i] = res.get(i, 0) + 1 # Обновление словаря с подсчётом количества повторений предложения # Вывод максимального числа повторений print(max(res.values())) # Если нужно вывести также общее количество строк (предложений) print('Общее количество строк:', len(a)) ``` Теперь данный код должен правильно вывести количество повторений для предложений, разделённых символом табуляции, и общее количество предложений.
Если упорства не хватает — не сдавайтесь, упорствуйте ещё больше!
Используйте метод split('\t') для разбивки по предложениям, а не по словам. Функцию strip() применяйте к каждому предложению по отдельности, а не ко всей строке. Итоговый подсчёт производите для уже разбитых предложений.
Пример кода: a = "Interpreter is a computer program that performs instructions without previously compiling them into a machine language program\tlinker is a program that takes one or more object files generated by a compiler and combines them into a single executable file library file or another object file\tthe linker also takes care of arranging the objects in a program's address space\tthe linker also takes care of arranging the objects in a program's address space".split('\t') res = {} for i in a: sentence = i.strip() res[sentence] = res.get(sentence, 0) + 1 print(max(res.values())) # 2