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

Решение на Python 3:

import codecs
import random

f_input = "text27_in.txt"
f_output = "text27_out.txt"
#GenerateNumbers(f_input)
print("Read from:",f_input)
print("Write to:",f_output)

K = random.randrange(1,14)
#K = 1
print("K = ",K)

p = 0
try:
with codecs.open(f_input, 'r', 'utf-8') as f_in, \
codecs.open(f_output, 'w', 'utf-8') as f_out:
for line in f_in:
if line[:5] == " "*5:
p += 1
if p != K or line.strip() == "":
f_out.write(line)

except IOError:
print('Open error: ',f_input)