Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 27, 2011 10:04:48

anastasia240190
От:
Зарегистрирован: 2011-12-26
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

анализ и форматирование текста

Дано целое число К и текстовый файл. Удалить из файла абзац с номером К (абзацы отделяются друг от друга одной или несколькими пустыми строками). Пустые строки, предшествующие и следующие за удаляем абзацем, не удалять. Если абзац с данным номером отсутствует, оставить файл без изменения.



Офлайн

#2 Дек. 27, 2011 10:41:40

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

анализ и форматирование текста

Хорошо.



Офлайн

#3 Дек. 28, 2011 22:43:51

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

анализ и форматирование текста

#!/usr/bin/env python3

import sys

if __name__ == '__main__':
if len(sys.argv) != 4:
print('usage: field infile outfile', file=sys.stderr)
sys.exit(1)

n = int(sys.argv[1])
ifname = sys.argv[2]
ofname = sys.argv[3]

with open(ifname, encoding='utf-8') as fin, \
open(ofname, "w", encoding='utf-8') as fout:
state = 0
for line in fin:
if state == 0:
if line == '\n':
fout.write(line)
else:
assert n > 0
n -= 1
if n > 0:
fout.write(line)
state = 1
else:
state = 2
elif state == 1:
fout.write(line)
if line == '\n':
state = 0
elif state == 2:
if line == '\n':
fout.write(line)
state = 3
elif state == 3:
fout.write(line)
print('ok')



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version