Untitled
unknown
python
2 years ago
2.0 kB
9
Indexable
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__':
while True:
main()
Editor is loading...