Python пожалуйста срочно Форматирование текста. Дан текст, состоящий из предложений,
разделяемых точками. Напишите программу, производящую следующее
форматирование: после каждой точки в конце предложения должен стоять
хотя бы один пробел; первое слово в предложении должно начинаться с
прописной буквы. Замечание. Текст может быть как на русском, так и на
английском языке.

Ответы

Ответ дал: lasushin123
0

text = input('TEXT:\n ').split('.')

newtext = []

for i in text:

~~~~if i[0] != '':

~~~~~~~~i = ' ' + i

~~~~if i[1].upper() != i[1]:

~~~~~~~~i = i[0] + i[1].upper() + i[2:]

~~~~newtext.append(i)

print('.'.join(newtext)[1:] + '.')

#заменить все "~" на пробелы


volkipozorniyi: можно пожалуйста небольшое пояснение по каждой строчке
lasushin123: text = input('TEXT:\n ').split('.')

это принимает ввод от пользователя и превращает его в список, разделяя его с помощью. поэтому, если я наберу «1234.4321», он превратится в [«1234», «4321»]
lasushin123: newtext = []

составляет новый список
lasushin123: for i in text:
~~~~if i[0] != '':
~~~~~~~~i = ' ' + i
~~~~if i[1].upper() != i[1]:
~~~~~~~~i = i[0] + i[1].upper() + i[2:]
~~~~newtext.append(i)
lasushin123: это проходит по списку созданного текста и, например, text = ['lol lol', 'abc abc']. здесь он сначала проходит через 'lol lol', который в данном случае равен «i», затем он проверяет, является ли первая буква строки «», но здесь это «l», поэтому он добавляет пробел в начале строки. затем он проверяет, является ли второй символ
lasushin123: (начало первого слова после пробела) заглавной буквой, и превращает его в заглавную букву, если это не так. затем он добавляет новую строку, которую он сделал, в новый список
lasushin123: print('.'.join(newtext)[1:] + '.')

это напечатает все строки в списке, соединенные знаком '.' так что новый список ['Lol lol', 'Abc abc'] превратится в 'Lol lol. Abc abc 'но [1:] убирает первый пробел и также добавляет. в конце, так что это превратится в 'Lol lol. Abc abc. '
lasushin123: также вы можете сократить это:

for i in text:
~~~~if i[0] != '':
~~~~~~~~i = ' ' + i
~~~~if i[1].upper() != i[1]:
~~~~~~~~i = i[0] + i[1].upper() + i[2:]
~~~~newtext.append(i)

for i in text:
~~~~if i[0] != '':
~~~~~~~~i = ' ' + i
~~~~i = i[0] + i[1].upper() + i[2:]
~~~~newtext.append(i)
Вас заинтересует