Синтаксические ошибки Vigenere Cipher

Я должен сделать программу, которая ведет себя так:

$Python 
vigenere.py
Type a message:
The crow flies at midnight!
Encryption key:
boom
Uvs fsck rmwse bh auebwsih!

Использование Vigenere Cipher

Я должен использовать вспомогательную функцию и импортировать ее в эту функцию, которая, как я знаю, работает

import string

alphabet_pos = "abcdefghijklmnopqrstuvwxyz"
def alphabet_position(letter):

    pos = alphabet_pos.index(letter.lower())
    return pos 

def rotate(letter, rot):
    pos = alphabet_position(letter)
    new_pos = (pos + rot) % 26
    new_char = alphabet_pos[new_pos]

    return new_char

После этого я начал шифровать часть Vigenere

from helpers import alphabet_position, rotate
from caesar import encrypt

    def encrypt(text,key):
        #Declare variable
        cipher = ''

        #Compute length
        l = len(key)

        #Assign value
        idx = 0

        #Loop
        for i in text:
            #if condition satisfies
            if i.isalpha():

                #Call method
                cipher += rotate_character(i,alphabet_position(key[idx]))

                #Update to next 
                idx = (idx+1)%1
            #Otherwise
            else:

                #Increment
                cipher += i

        #Return
        return cipher
    #Define main
    def main():

Когда я запускаю это, он запрашивает у меня сообщение, но возвращает сообщение о том, что в строке 51 есть синтаксические ошибки в <module> main() и строка 38, в

main text = input("Type a message: /n"))
File "<string>", line 1

1 ответ

Не уверен, почему ты использовал main text = ... ВМЕСТО просто text = ... или же main_text = ... а также похоже, что у вас есть лишние скобки в конце....

так,

если вы хотите получить строку от пользователя и сохранить ее в переменной text Вы должны переписать свое утверждение так:

Если вы используете Python3:

text = input("Type a message: ")

Если вы используете Python2:

text = raw_input("Type a message: ")

Пожалуйста, укажите, какую версию Python вы используете в следующий раз, когда вы спросите, чтобы нам было легче ответить:)

(Вы можете проверить версию, с которой вы работаете import sys; print(sys.version) )

Другие вопросы по тегам