Условие:
import sys\nimport re
\ndef main(): #Определяем название входного файла
\ninput_filename = 'resourse_1.txt'
# Читаем содержимое файла\ntry:
with open(input_filename, 'r', encoding='utf-8') as fin:
text = fin.read()\nexcept FileNotFoundError:
print(f'Ошибка: файл {input_filename} не найден.')
sys.exit(1)
# Удаляем знаки препинания, заменяя их пробелами
# Регулярное выражение: \W+ соответствует любым символам, не являющимся буквенно-цифровым
# Но нам важно оставить символы языка, поэтому лучше использовать [^а-яА-Яa-zA-Z0-9]+\ntext = re.sub(r'[^а-яА-Яa-zA-Z0-9]+','',text)
#Приводим весь текст к нижнему регистру и разбиваем слова\nwords = text.lower().split()
#Считаем частоту встречаемости каждого слова с ипользованием словаря\nword_freq = {}\nfor word in words:
word_freq[word] = word_freq.get(word, 0) + 1
# Формируем список кортежей (частота, слово)
# Чтобы сортировка сначала шла по убыванию частоты, а затем по возрастанию слова,
# ключ сортировки: (-частота, слово)\nsorted_words = sorted(word_freq.items(), key=lambda item: (-item[1], item[0]))
# Формируем список строк для вывода: слово и его частота разделенные пробелом\noutput_lines = [f'{word} {freq}' for word, freq in sorted_words]
# Обработка аргументов командной строки. Если передан "-с", выводим результат в консоль\nif '-c' in sys.argv:
for line in output_lines:
print(line)\nelse:
output_filename = 'result.txt'
try:
with open(output_filename, 'w', encoding='utf-8') as fout:
fout.write('
'.join(output_lines))
except Exception as e:
print('Ошибка при записи в файл:', e)
sys.exit(1)\nif name =='main':main()

