Выполнил главу 9

This commit is contained in:
Марычев Павел Иванович 2021-08-01 18:42:33 +04:00
parent 9e8291a54e
commit 15e79411bd
3 changed files with 83 additions and 0 deletions

8
ch9/carzy_lib.txt Normal file
View File

@ -0,0 +1,8 @@
Первое, что необходимо сделать, чтобы
ударить писать собственный кот, -
научиться прыгать стоящие перед вами задачи
на красивый действия, которые
река сможет выполнить за вас.
Для этого вы и компьютер должны петь!!!
понятный друг другу слон, но
об этом мы вскоре поговорим.

67
ch9/crazy.py Normal file
View File

@ -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()

8
ch9/lib.txt Normal file
View File

@ -0,0 +1,8 @@
Первое, что необходимо сделать, чтобы
ГЛАГОЛ писать собственный СУЩЕСТВИТЕЛЬНОЕ, -
научиться ГЛАГОЛ стоящие перед вами задачи
на ПРИЛАГАТЕЛЬНОЕ действия, которые
СУЩЕСТВИТЕЛЬНОЕ сможет выполнить за вас.
Для этого вы и компьютер должны ГЛАГОЛ!!!
понятный друг другу СУЩЕСТВИТЕЛЬНОЕ, но
об этом мы вскоре поговорим.