Traceback (most recent call last):
File "C:\Users\Денис\Desktop\1.py", line 44, in <module>
print(getTranslatedMessage(mode,message,key))
File "C:\Users\Денис\Desktop\1.py", line 24, in getTranslatedMessage
key = -key
TypeError: bad operand type for unary -: 'function'
Вот сама программа:
# Шифр Цезаря
SYMBOLS = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя'
MAX_KEY_SIZE = len (SYMBOLS)
def getMode():
while True:
print('Вы хотите зашифровать или расшифровать текст?')
mode = input().lower()
if mode in ['Зашифровать','зашифровать','з','Расшифровать','расшифровать','р']:
return mode
else:
print('Введите для зашифровки"Зашифровать"или"зашифровать"или"з", а для расшифровки"Расшифровать"или"расшифровать"или"р".')
def getMessage():
print('Введите текст:')
return input()
def getKey() :
key=0
while True:
print('Введите ключ для шифрования(1-%s)' % (MAX_KEY_SIZE))
key = int(input())
if (key >= 1 and key <= MAX_KEY_SIZE):
return key
def getTranslatedMessage(mode, message, key):
if mode[0] == 'р':
key = -key
translated = ''
for symbol in message:
symbolIndex = SYMBOLS.find(symbol)
if symbolIndex == -1: # Символ не найден в SYMBOLS.
# Просто добавить этот символ без изменений.
translated += symbol
else:
#Зашифровать или расшифровать
symbolIndex =+ key
if symbolIndex >= len(SYMBOLS):
symbolIndex -= len(SYMBOLS)
elif symbolIndex < 0:
symbolIndex += len (SYMBOLS)
translated += SYMBOLS[symbolIndex]
return translated
mode = getMode()
message = getMessage()
key = getKey
print('преоброзованный текст:')
print(getTranslatedMessage(mode,message,key))