我的(最近修复的)代码如下:
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:
letter =
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
我正在尝试创建一个简单的加密应用程序,并遇到了一个问题:
Traceback (most recent call last):
File "<pyshell#34>", line 1, in <module>
decrypt('hi')
File "C:\Users\WILLARD\Desktop\encryption.py", line 20, in decrypt
letter = list(cryptograph.keys())[list(cryptograph.values()).index[letter]]
TypeError: 'builtin_function_or_method' object is not subscriptable
我用谷歌搜索无济于事。
我认为问题可能在于我尝试使用值找到一个dict键:
list(cryptograph.keys())[list(cryptograph.values()).index[letter]]
有趣的是,我使用解释器测试了该行,并且工作正常。
答案 0 :(得分:1)
列表(cryptograph.keys())[表(cryptograph.values())。索引[信]]
尝试改为:
list(cryptograph.keys())[list(cryptograph.values()).index(letter)]