代码如下:
cryptograph = {"a":"b", "b":"c", "c":"d", 'd': 'e', 'e':'f', 'f':'g', 'g':'h', 'h':'i', 'i':'j', 'j':'k', 'k':'l', 'l':'m', 'm':'n', 'n':'o', 'o':'p', 'p':'q', 'q':'r', 'r':'s', 's':'t', 't':'u', 'u':'v','v':'w', 'w':'x', 'x':'y', 'y':'z', 'z':'a', ' ': ' ', '.':',', ',':'.', '"':"'", "'":'"', '<':'>', '>':'<', '0':'1', '9':'2', '8':'3', '7':'4', '6':'5', '5':'6', '4':'7', '3':'8', '2':'9', '1':'0'}
def encrypt (string):
string = string.lower()
length = len(string)
toBeTranslated = splitter(string)
translated = ''
for letter in toBeTranslated:
translated = translated + cryptograph[letter]
print(translated)
def decrypt (string):
string = string.lower()
length = len(string)
toBeTranslated = splitter(string)
translated = ''
for letter in toBeTranslated:
translated = translated + list(cryptograph.keys())[list(cryptograph.values()).index[letter]
def splitter (string):
rotation = 0
stringLength = len(string)
charList = []
for _ in range(stringLength):
charList.append(string[rotation])
rotation = rotation + 1
return charList
每当我运行它时,它会给我一个&#34;无效的语法&#34;语法错误,但未能告诉我我做错了什么。
在IDLE中运行时,代码用于加密和解密字符串。我刚刚添加了解密函数,在此之前它工作正常(如加密的东西。)
我检查了契约和冒号,发现没有错误。
提前致谢, mrdorkface
答案 0 :(得分:2)
快速浏览一下,说明你遗漏了一些关闭括号
translated = translated + list(cryptograph.keys())[list(hi.values()).index[letter]
验证所有打开和关闭括号是否与所有内容匹配。
答案 1 :(得分:2)
此行缺少括号:
translated = translated + list(cryptograph.keys())[list(hi.values())].index[letter]
答案 2 :(得分:2)
每当你看到这个时,通常是,因为我有一个不平衡的支架。只需将光标放在字符之前,表示您有错误并输入&#34;]&#34;并查看IDLE是否将代码重新强调回某处。你的不平衡支架导致错误。如果它没有突出显示但是发出哔哔声,请删除&#34;]&#34;并尝试&#34;)&#34;然后&#34;}&#34;。通常这会发现你的问题。
我这样做了,并立即找到问题所在:
translated = translated + list(cryptograph.keys())[list(hi.values())].index[letter]
缺少结束&#34;]&#34;