PolinaKramar

ответов0 / помог0

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

1680548704
Всем доброго дня! Я только начала изучать python, буквально только второй день, нашла самообучалку и там мне дано задание: написать программу, в которую можно ввести длинный текст из нескольких предложений, заканчивающихся точкой, восклицательным или вопросительным знаком. Программа должна разделить введенный текст на предложения и вывести каждое их них на экран с новой строки. Я примерно понимаю как это можно сделать, но только примерно. Это с учетом того, что задание идет после изучения команд replace, find, split и join. Я к тому, что команд я тоже знаю пока мало. Уже пару часов пытаюсь самостоятельно написать, но в итоге программа либо вообще ничего не выдает, либо выдает мне последнее слово в тексте с точкой. Прошу помочь, я только-только начала учить.

s = input('Введите тест, чтобы программа вывела каждое предложение с новой строки и нажмите enter: ')
mas = [s]
words = s.split()
for s in words:
    n = s.find('. ')
mas = s.split('\n')
print(mas)
ISmokeJS
ответов3 / помог1
1680548897

print(input().replace('. ','\n').replace('! ','\n').replace('? ', '\n'))
PolinaKramarвлепить жирный лайк
PolinaKramar
ответов0 / помог0
1680549004
Спасибо за ответ! ISmokeJS, я добавила эту строчку, но ничего не изменилось. Возможно я не внимательно писала или не добавила какое-то условие, но вроде условий быть больше и не должно. Я погуглила еще, но с таким вопросом обращаются на других ЯП. Пробовала вставлять разные тексты, но итог один и тот же. Есть ли вариант того, что у меня получится решить эту проблему позже, просто изучив python глубже и зная больше команд?
влепить жирный лайк
ISmokeJS
ответов3 / помог1
1680549066
PolinaKramar, Куда добавила? Это весь код
влепить жирный лайк
PolinaKramar
ответов0 / помог0
1680549136
ISmokeJS, Ага. Не думала, что в одну строчку можно все уместить все. Спасибо огромное!
влепить жирный лайк
Arty152
ответов1 / помог0
1680549292

print(input().replace('. ','\n').replace('! ','\n').replace('? ', '\n'))
ISmokeJS, Добрый день! Выполняю тоже самое задание и считаю что данный код является только частью решения задачи, так как тут символы (!?.) просто заменяются на отступ (новую строку), и при выводе каждое предложение остается без этих символов, а нужно что бы символы тоже были сохранены.
влепить жирный лайк
ISmokeJS
ответов3 / помог1
1680549393
Arty152, ну раз ты так считаешь - добавь их в заменяющую строку. В чем проблема?

print(re.sub(r'(?<=[.!?])\s', '\n', input()))
влепить жирный лайк
Сначала вход
A B i U S JS PHP HTML CSS SQL C C++ C# PYTHON JAVA
Для входа только имэйл или имя и апроль
Можно сменить аватар
Имэйл Ваше имя
Пароль