SyntaxError:无效的语法第138行意外错误

时间:2016-08-02 01:59:22

标签: python python-2.7 syntax-error

我正在努力写一篇关于我正在做的课程的问题的剧本面临着深刻的麻烦。我继续得到SyntaxError:无效的语法第138行,这有点奇怪。这是我的剧本。如果有人能解释如何解决这个问题会很棒。感谢

class Message(object):

    def __init__(self, text):

        self.message_text = text
        self.valid_words = load_words(WORDLIST_FILENAME)


    def get_message_text(self):

        return self.message_text


    def get_valid_words(self):

        return self.valid_words[:]

    def build_shift_dict(self, shift):

        lc_str = string.ascii_lowercase
        uc_str = string.ascii_uppercase

        shifted_dict = {}

    
        for ltr in lc_str:
            if lc_str.index(ltr) + shift < 26:
                shifted_dict[ltr] = lc_str[lc_str.index(ltr) + shift]
            else:
                shifted_dict[ltr] = lc_str[lc_str.index(ltr)-26+shift]

        for ltr in uc_str:
            if uc_str.index(ltr) + shift < 26:
                shifted_dict[ltr] = uc_str[uc_str.index(ltr) + shift]
            else:
                shifted_dict[ltr] = uc_str[uc_str.index(ltr)-26+shift]

        return shifted_dict


    def apply_shift(self, shift):

        cipher = self.build_shift_dict(shift)
        ciphertext = ""

        for char in self.message_text:
            if char in cipher:
                ciphertext = ciphertext + cipher[char]
            else:
                ciphertext = ciphertext + char

        return ciphertext

1 个答案:

答案 0 :(得分:1)

在这两行之间:

shifted_dict = {}

for ltr in lc_str:

您有一个非ASCII字符('\xe2')。删除它。

(如果您尝试在Python解释器中加载代码,Python会告诉您这一点。)