@akio1

Почему Python выдает ошибку в строке с newPosition?

alphabet = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
encrypt = input('Введите слово которое хотите зашифровать: ')
key = int(input('Введите ключ(от 1-25)): '))
encrypted = ''
for letter in encrypt: position = alphabet.find(letter) newPosition = position + key


Я хотел сделать Шифр Цезаря с помощью интернета но он чего-то не хочет работать и выдает ошибку

for letter in encrypt: position = alphabet.find(letter) newPosition = position + key
                                                        ^^^^^^^^^^^
  • Вопрос задан
  • 235 просмотров
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
А какого баклажана ты пишешь несколько команд в одну строку? Не надо так делать.
Ответ написан
@eminsk
программирую на python
Походу пока еще не до конца освоил как правильно писать однострочные коды.
И всегда обязательно делай проверку на ошибку в коде и отладку кода

alphabet = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'

caesar_cipher = lambda text, key: ''.join(
        alphabet[(alphabet.find(letter) + key) % len(alphabet)] if letter in alphabet else letter
        for letter in text
    )
encrypt = input('Введите слово, которое хотите зашифровать: ')
try:
    encrypted = caesar_cipher(encrypt, int(input('Введите ключ (от 1 до 32): ')))
    print(f'Зашифрованное слово: {encrypted}')
except ValueError:
    print('Ошибка: ключ должен быть числом.')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы