From 82383dcaaf1fc3eebe6b6b27565106013ab7d851 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 4 Mar 2019 20:08:48 +0400 Subject: Day 1 Task 5 --- day1/task5/task5.py | 15 +++++++++++++++ day1/task5/task5_data.txt | 1 + 2 files changed, 16 insertions(+) create mode 100644 day1/task5/task5.py create mode 100644 day1/task5/task5_data.txt diff --git a/day1/task5/task5.py b/day1/task5/task5.py new file mode 100644 index 0000000..52eafc2 --- /dev/null +++ b/day1/task5/task5.py @@ -0,0 +1,15 @@ +with open('task5_data.txt') as f: + print(f.read()) + +with open('task5_data.txt', 'rb+') as input_byte, open('task5_data_new.txt', 'wb') as out: + char = input_byte.read(1) + while char: + binary = list(bin(int(char.hex(), 16))[2:]) + if binary[-2] == '1': + binary[-2] = '0' + elif binary[-2] == '0': + binary[-2] = '1' + + out.write(bytes([int(''.join(binary), 2)])) + char = input_byte.read(1) + diff --git a/day1/task5/task5_data.txt b/day1/task5/task5_data.txt new file mode 100644 index 0000000..0808eaa --- /dev/null +++ b/day1/task5/task5_data.txt @@ -0,0 +1 @@ +12йцas -- cgit v1.2.3 From 8d49433235daa0ca3e7ad1b330e4215ee86f4f51 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 9 Mar 2019 20:52:00 +0400 Subject: =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=8F=D1=82=D0=B0=D1=8F=20=D0=B7=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D1=87=D0=B0=20=D0=BF=D0=B5=D1=80=D0=B2=D0=BE=D0=B3=D0=BE?= =?UTF-8?q?=20=D0=B4=D0=BD=D1=8F,=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= =?UTF-8?q?=20=D1=81=20=D0=B1=D0=B0=D0=B9=D1=82=D0=B0=D0=BC=D0=B8=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B0=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=83=20=D1=81=20=D1=87=D0=B8?= =?UTF-8?q?=D1=81=D0=BB=D0=B0=D0=BC=D0=B8=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=BE=20=D1=81=D1=82=D1=80=D0=BE=D0=BA.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- day1/task5/task5.py | 33 +++++++++++++++++++-------------- day1/task5/task5_data.txt | 2 +- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/day1/task5/task5.py b/day1/task5/task5.py index 52eafc2..2869247 100644 --- a/day1/task5/task5.py +++ b/day1/task5/task5.py @@ -1,15 +1,20 @@ -with open('task5_data.txt') as f: - print(f.read()) - -with open('task5_data.txt', 'rb+') as input_byte, open('task5_data_new.txt', 'wb') as out: - char = input_byte.read(1) - while char: - binary = list(bin(int(char.hex(), 16))[2:]) - if binary[-2] == '1': - binary[-2] = '0' - elif binary[-2] == '0': - binary[-2] = '1' - - out.write(bytes([int(''.join(binary), 2)])) - char = input_byte.read(1) +import os + +read_path = os.path.join(os.getcwd(), 'task5_data.txt') +write_path = os.path.join(os.getcwd(), 'task5_data_new.txt') + +if not os.access(read_path, os.R_OK): + print('Файл "{}" не доступен для чтения'.format(read_path)) +elif not os.access(write_path, os.W_OK): + print('Файл "{}" не доступен для записи'.format(write_path)) +else: + with open(read_path) as f: + print(f.read()) + + with open('task5_data.txt', 'rb') as input_byte, open(write_path, 'wb') as out: + char = input_byte.read(1) + while char: + number = int(char.hex(), 16) + out.write(bytes([number ^ 2])) + char = input_byte.read(1) diff --git a/day1/task5/task5_data.txt b/day1/task5/task5_data.txt index 0808eaa..2dfc0ba 100644 --- a/day1/task5/task5_data.txt +++ b/day1/task5/task5_data.txt @@ -1 +1 @@ -12йцas +12йцas \ No newline at end of file -- cgit v1.2.3