Python 3.x dict_值对象没有属性索引
我试图对atbash密码进行解密,我使用字典重新排列字符串,将重新排列的值追加到列表中并返回Python 3.x dict_值对象没有属性索引,python-3.x,Python 3.x,我试图对atbash密码进行解密,我使用字典重新排列字符串,将重新排列的值追加到列表中并返回 def atbash(txt): ph = [] lst = [] atbashdict = {"a":"z","b":"y","c":"x","d":"w","e":"v","f":&
def atbash(txt):
ph = []
lst = []
atbashdict = {"a":"z","b":"y","c":"x","d":"w","e":"v","f":"u","g":"t",
"h":"s","i":"r","j":"q","k":"p","l":"o","m":"n","n":"m","o":"l","p":"k",
"q":"j","r":"i","s":"h","t":"g","u":"f","v":"e","w":"d","x":"c","y":"b",
"z":"a"}
if " " in txt:
ph = txt.split()
for i in range(len(ph)):
for j in ph[i]:
if j.lower() in atbashdict.keys():
if j.isupper()==True:
lst[i].append(list(atbashdict.keys())[list(atbashdict.values().index(j.lower()))].upper())
else:
lst[i].append(list(atbashdict.keys())[list(atbashdict.values().index(j))])
if j.isalpha()==False:
lst[i].append(j)
return(" ".join(lst))
for i in txt:
if i.isupper()==True:
if i.lower() in atbashdict.keys():
lst.append(list(atbashdict.keys())[list(atbashdict.values().index(i.lower()))].upper())
else:
if i in atbashdict.keys():
lst.append(list(atbashdict.keys())[list(atbashdict.values().index(i))])
return("".join(lst))
当我使用测试“abcdefghijklmnop”运行代码时,我遇到了以下错误:
ERROR: Traceback:
in <module>
in atbash
AttributeError: 'dict_values' object has no attribute 'index'
错误:回溯:
在里面
在atbash
AttributeError:“dict_values”对象没有属性“index”
在试图纠正自己之后,我感到困惑,我陷入了同样的错误列表中。。。请帮忙 您必须执行
列表(dictionary.values()).index()
。您必须将其转换为列表。您必须将词典转换为列表才能正常工作。该错误基本上表明密码无法处理字典。我希望这是有帮助的。我实际上只是在学习Python的基础知识