Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- eng_lower_alphabet = 'abcdefghijklmnopqrstuvwxyz'
- eng_upper_alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
- rus_lower_alphabet = "абвгдежзийклмнопрстуфхцчшщъыьэюя"
- rus_upper_alphabet = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
- print('Программа по шифрованию "Цезарь""')
- print('Введите текст, который нужно зашифровать')
- s = input()
- result = []
- print('Если нужно зашифровать введите "да", "yes" или "+"')
- print('Если нужно дешифровать введите "нет", "no" или "-"')
- flag_todo = True # Если шифровать: True, если дешифровать: False
- what_todo = input()
- if what_todo.lower() == 'нет' or what_todo.lower() == 'no' or what_todo == '-':
- flag_todo = False
- print('Какой язык алфавита был введён: английский или русский?')
- flag_lang = True # Если язык английский: True, если русский: False
- what_lang = input()
- if what_lang.lower() in 'русский' or what_lang.lower() in 'russian':
- flag_lang = False
- print('Введите шаг сдвига - целое число')
- step_shift = int(input())
- for i in range(len(s)):
- if not s[i].isalpha():
- result.append(s[i])
- continue
- if flag_lang:
- if flag_todo:
- if s[i] in eng_upper_alphabet:
- result.append(eng_upper_alphabet[(eng_upper_alphabet.find(s[i]) + step_shift) % 26])
- elif s[i] in eng_lower_alphabet:
- result.append(eng_lower_alphabet[(eng_lower_alphabet.find(s[i]) + step_shift) % 26])
- else:
- if s[i] in eng_upper_alphabet:
- result.append(eng_upper_alphabet[(eng_upper_alphabet.find(s[i]) - (step_shift % 26) + 26) % 26])
- elif s[i] in eng_lower_alphabet:
- result.append(eng_lower_alphabet[(eng_lower_alphabet.find(s[i]) - (step_shift % 26) + 26) % 26])
- else:
- if flag_todo:
- if s[i] in rus_upper_alphabet:
- result.append(rus_upper_alphabet[(rus_upper_alphabet.find(s[i]) + step_shift) % 32])
- elif s[i] in rus_lower_alphabet:
- result.append(rus_lower_alphabet[(rus_lower_alphabet.find(s[i]) + step_shift) % 32])
- else:
- if s[i] in rus_upper_alphabet:
- result.append(rus_upper_alphabet[(rus_upper_alphabet.find(s[i]) - (step_shift % 32) + 32) % 32])
- elif s[i] in rus_lower_alphabet:
- result.append(rus_lower_alphabet[(rus_lower_alphabet.find(s[i]) - (step_shift % 32) + 32) % 32])
- print(*result, sep='')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement