Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- def cipher(text, num):
- a1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
- 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
- a2 = ['а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л',
- 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш',
- 'щ', 'ь', 'ы', 'ъ', 'э', 'ю', 'я']
- res = []
- a = []
- for i in text:
- if i.lower() not in a1 + a2:
- res.append(i)
- continue
- a = a1 if i.lower() in a1 else a2
- x = a.index(i.lower()) + num % len(a)
- y = x if x < len(a) else x - len(a)
- z = a[y] if i == i.lower() else a[y].upper()
- res.append(z)
- return "".join(res)
- try:
- with open(sys.argv[3], 'r', encoding='utf-8') as f:
- if sys.argv[1] == '-s':
- x = cipher(f.read(), int(sys.argv[2]))
- print(x)
- with open(sys.argv[3] + '.sif', 'w', encoding='utf-8') as f2:
- f2.write(x)
- elif sys.argv[1] == '-d':
- print(cipher(f.read(), int(sys.argv[2]) * -1))
- except IOError:
- pass
- # Использование
- # сохранить код в любой .py файл например cipher.py
- # пример текстового файла
- # text.txt
- # tHe quIck brown Fox juMps over a lazy Dog
- # одНажды в студЁную зимнюю пОру я Из лесу Вышел был сильНый мороз
- # кодирование (из командной строки cmd.exe)
- # cipher.py -s 40 text.txt
- # Параметры:
- # -s - значит шифрование
- # 40 - ключ (в данном случае сдвиг, так как используется шифр цезаря)
- # text.txt - текстовый файл с входными данными
- # в консоль выведет результат
- # hVs eiWqy pfckb Tcl xiAdg cjsf o zonm Rcu
- # хкФжнкв и шщькМфье опуфее цХчь ё По тлшь Ивялт звт шптбФвр ухчхо
- # а также результат сохранится в файл text.txt.sif
- # декодирование (из командной строки cmd.exe)
- # cipher.py -d 40 text.txt.sif
- # Параметры:
- # -d - значит дешифрование
- # 40 - ключ (в данном случае сдвиг, так как используется шифр цезаря)
- # text.txt.sif - зашифрованый текстовый файл
- # в консоль выведет результат (расшифрованный текст из файла)
- # tHe quIck brown Fox juMps over a lazy Dog
- # одНажды в студЕную зимнюю пОру я Из лесу Вышел был сильНый мороз
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement