From 15e79411bd362160e6dabbb3a3fb4d473055dcd7 Mon Sep 17 00:00:00 2001 From: Pavel Marychev Date: Sun, 1 Aug 2021 18:42:33 +0400 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B3=D0=BB=D0=B0=D0=B2=D1=83=209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch9/carzy_lib.txt | 8 ++++++ ch9/crazy.py | 67 +++++++++++++++++++++++++++++++++++++++++++++++ ch9/lib.txt | 8 ++++++ 3 files changed, 83 insertions(+) create mode 100644 ch9/carzy_lib.txt create mode 100644 ch9/crazy.py create mode 100644 ch9/lib.txt diff --git a/ch9/carzy_lib.txt b/ch9/carzy_lib.txt new file mode 100644 index 0000000..8ab311d --- /dev/null +++ b/ch9/carzy_lib.txt @@ -0,0 +1,8 @@ +Первое, что необходимо сделать, чтобы +ударить писать собственный кот, - +научиться прыгать стоящие перед вами задачи +на красивый действия, которые +река сможет выполнить за вас. +Для этого вы и компьютер должны петь!!! +понятный друг другу слон, но +об этом мы вскоре поговорим. diff --git a/ch9/crazy.py b/ch9/crazy.py new file mode 100644 index 0000000..be7fbfd --- /dev/null +++ b/ch9/crazy.py @@ -0,0 +1,67 @@ +import sys + +def make_crazy_lib(filename): + try: + file = open(filename, 'r') + + text = '' + + for line in file: + text = text + process_line(line) + '\n' + + file.close() + + return text + except FileNotFoundError: + print('Не удалось найти файл', filename + '.') + except IsADirectoryError: + print('Вообще-то,', filename, '- это каталог.') + except: + print('Не удалось прочитать файл', filename) + +def save_crazy_lib(filename, text): + file = open(filename, "w") + + file.write(text) + file.close() + +placeholders = ['СУЩЕСТВИТЕЛЬНОЕ', 'ПРИЛАГАТЕЛЬНОЕ', 'ГЛАГОЛ'] + +def process_line(line): + global placeholders + processed_line = '' + symbol = '' + words = line.split() + for word in words: + stripped = word.strip('.,;?!') + if stripped in placeholders: + answer = input(f'Введите {stripped}: ') + processed_line = processed_line + answer + '' + if word[-1] in '.,;?!': + for char in word: + if char in '.,;?!': + symbol = symbol + char + '' + processed_line = processed_line + symbol + ' ' + else: + processed_line = processed_line + ' ' + else: + processed_line = processed_line + word + ' ' + return processed_line + +def main(): + if len(sys.argv) != 2: + filename = 'lib.txt' + lib = make_crazy_lib(filename) + # print(lib) + if (lib != None): + save_crazy_lib('carzy_' + filename, lib) + else: + filename = sys.argv[1] + lib = make_crazy_lib(filename) + # print(lib) + if (lib != None): + save_crazy_lib('carzy_' + filename, lib) + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/ch9/lib.txt b/ch9/lib.txt new file mode 100644 index 0000000..d711ad9 --- /dev/null +++ b/ch9/lib.txt @@ -0,0 +1,8 @@ +Первое, что необходимо сделать, чтобы +ГЛАГОЛ писать собственный СУЩЕСТВИТЕЛЬНОЕ, - +научиться ГЛАГОЛ стоящие перед вами задачи +на ПРИЛАГАТЕЛЬНОЕ действия, которые +СУЩЕСТВИТЕЛЬНОЕ сможет выполнить за вас. +Для этого вы и компьютер должны ГЛАГОЛ!!! +понятный друг другу СУЩЕСТВИТЕЛЬНОЕ, но +об этом мы вскоре поговорим. \ No newline at end of file