Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 05.12.2022
Сообщений: 3

Разделить текст на предложения, чтоб каждое начиналось с новой строки

05.12.2022, 22:23. Показов 5944. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня! Я только начала изучать python, буквально только второй день, нашла самообучалку и там мне дано задание: написать программу, в которую можно ввести длинный текст из нескольких предложений, заканчивающихся точкой, восклицательным или вопросительным знаком. Программа должна разделить введенный текст на предложения и вывести каждое их них на экран с новой строки.
Я примерно понимаю как это можно сделать, но только примерно. Это с учетом того, что задание идет после изучения команд replace, find, split и join. Я к тому, что команд я тоже знаю пока мало. Уже пару часов пытаюсь самостоятельно написать, но в итоге программа либо вообще ничего не выдает, либо выдает мне последнее слово в тексте с точкой.
Прошу помочь, я только-только начала учить.
Python
1
2
3
4
5
6
7
s = input('Введите тест, чтобы программа вывела каждое предложение с новой строки и нажмите enter: ')
mas = [s]
words = s.split()
for s in words:
    n = s.find('. ')
mas = s.split('\n')
print(mas)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.12.2022, 22:23
Ответы с готовыми решениями:

Чтобы каждое предложение начиналось с новой строки
Пример : lis = ("Книга лежала на столе" "Лучший подарок - книга" "Открой книгу на первой странице" ...

Считать текст из файла и записать в другой файл так чтоб каждое слово было с новой строки
Не могу разобраться как считывать и записывать по одному слову.Помогите пож.

Распечатать текст с выводом каждого предложения с новой строки(предложения разделены '.', '!', '?' )
Распечатать текст с выводом каждого предложения с новой строки(предложения разделены точкой, знаком восклицания, знаком вопроса) Надо...

8
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.12.2022, 11:19
Python
1
print(input().replace('. ','\n').replace('! ','\n').replace('? ', '\n'))
1
0 / 0 / 0
Регистрация: 05.12.2022
Сообщений: 3
06.12.2022, 14:38  [ТС]
Спасибо за ответ! iSmokeJC
я добавила эту строчку, но ничего не изменилось. Возможно я не внимательно писала или не добавила какое-то условие, но вроде условий быть больше и не должно. Я погуглила еще, но с таким вопросом обращаются на других ЯП. Пробовала вставлять разные тексты, но итог один и тот же. Есть ли вариант того, что у меня получится решить эту проблему позже, просто изучив python глубже и зная больше команд?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.12.2022, 14:43
Лучший ответ Сообщение было отмечено PolinaKramar как решение

Решение

Цитата Сообщение от PolinaKramar Посмотреть сообщение
я добавила
Куда добавила? Это весь код
0
0 / 0 / 0
Регистрация: 05.12.2022
Сообщений: 3
06.12.2022, 15:17  [ТС]
Ага. Не думала, что в одну строчку можно все уместить все. Спасибо огромное!
0
0 / 0 / 0
Регистрация: 03.04.2023
Сообщений: 1
03.04.2023, 15:26
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Python
1
print(input().replace('. ','\n').replace('! ','\n').replace('? ', '\n'))
Python
1
print(input().replace('. ','\n').replace('! ','\n').replace('? ', '\n'))
iSmokeJC, Добрый день!
Выполняю тоже самое задание и считаю что данный код является только частью решения задачи, так как тут символы (!?.) просто заменяются на отступ (новую строку), и при выводе каждое предложение остается без этих символов, а нужно что бы символы тоже были сохранены.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
03.04.2023, 15:30
Arty152, ну раз ты так считаешь - добавь их в заменяющую строку. В чем проблема?

Добавлено через 2 минуты
Python
1
print(re.sub(r'(?<=[.!?])\s', '\n', input()))
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
03.04.2023, 16:13
Лучший ответ Сообщение было отмечено Red white socks как решение

Решение

Спасибо за ответ! iSmokeJC
Я написал эту строчку, но ничего не получилось. Возможно я не внимательно писал или не добавил какое то условие, но вроде условий и быть не должно. Я погуглил еще, но с таким вопросом обращаются на других ЯП. Пробовал запускать и в Pycharm, и в VSC, даже установил windows 96 с python 1.0.2, но итог один и тот же. Есть ли вариант того, что у меня получиться решить эту проблему позже, просто изучив python глубже и зная больше команд?

Добавлено через 1 минуту
Arty152,
Python
1
print(input().replace('. ', '.\n').replace('! ', '!\n').replace('? ', '?\n'))
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
03.04.2023, 16:15
Лучший ответ Сообщение было отмечено Red white socks как решение

Решение

Fudthhh, рекомендую книжку
Кликните здесь для просмотра всего текста

Внимательно почитай ее, и я думаю, всё у тебя получится! Дерзай!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.04.2023, 16:15
Помогаю со студенческими работами здесь

Каждое слово предложения вывести с новой строки в листбокс
Дано предложение, каждое слово предложения вывести с новой строки в листбокс

Сделать так чтобы каждое предложения начиналось с большой буквы
Как сделать так чтобы каждое предложения начиналось с большой буквы, а остальное с маленькой.

Отформатировать текст: каждое предложение с новой строки, между словами - по одному пробелу
Задача: Дан текстовый файл. Переписать его текст в новый файл таким образом, чтобы каждое предложение начиналось с новой строки и между...

Вывести текст файла, заменив цифры на слова, начиная каждое предложение с новой строки
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова «ноль», «один»,..., «девять»,...

Изменить текст так, чтобы каждое предложение начиналось с большой буквы
Есть некоторый текст. Используя стандартные строковые функции из библиотеки языка C. . Изменить текст таким образом, чтобы каждое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru