Untitled
unknown
python
a year ago
1.9 kB
2
Indexable
Never
def recognize_alphabet(symbol): if symbol.lower() in rus: if symbol.islower(): return rus return rus.upper() if symbol.lower() in eng: if symbol.islower(): return eng return eng.upper() # ЛОГИКА ЗАШИФРОВКИ def encrypt(word, step): encrypted = '' for char in word: encrypted += encrypt_symbol(char, step) return encrypted def encrypt_symbol(symbol, step): if symbol.isalpha(): alphabet = recognize_alphabet(symbol) i = alphabet.index(symbol) + step return alphabet[i % len(alphabet)] return symbol # ЛОГИКА РАСШИФРОВКИ def decrypt(word, step): decrypted = '' for char in word: decrypted += decrypt_symbol(char, step) return decrypted def decrypt_symbol(symbol, step): if symbol.isalpha(): alphabet = recognize_alphabet(symbol) i = alphabet.index(symbol) - step return alphabet[i % len(alphabet)] return symbol def main(): encrypt_word = input('Вы хотите зашифровать или расшифровать ? enc/dec : \n') if encrypt_word == 'enc': word = input('Введите слово которое хотите зашифровать: \n') step = int(input('Введите шаг: \n')) print(encrypt(word, step)) elif encrypt_word == 'dec': word = input('Введите слово которое хотите расшифровать: \n') step = int(input('Введите шаг: \n')) print(decrypt(word, step)) else: print('Я не совсем вас понял, попробуем снова ?') main() rus = 'абвгдежзийклмнопрстуфхцчшщъыьэюя' # 32 eng = 'abcdefghijklmnopqrstuvwxyz' # 26 if __name__ == '__main__': main()