Python TypeError:列表索引必须是整数或片,而不是str
我的Python函数有一个错误。代码如下所示Python TypeError:列表索引必须是整数或片,而不是str,python,Python,我的Python函数有一个错误。代码如下所示 def vigenere(): message1 = input('message: ') keyl = ['l', 'e', 'm', 'o', 'n'] if len(message1) > len(keyl): keyl = [i * 5 for i in keyl] else: pass for med in message1: encr
def vigenere():
message1 = input('message: ')
keyl = ['l', 'e', 'm', 'o', 'n']
if len(message1) > len(keyl):
keyl = [i * 5 for i in keyl]
else:
pass
for med in message1:
encrypting = chr(ord(med) + ord(keyl[med]))
print(encrypting)
encmessage = input('Is there a message you would like to decrypt?')
for mes in encmessage:
decrypting = chr(ord(med) - ord(keyl[med]))
print(decrypting)
当我试图调用我的函数时,python shell演示了一个错误。错误如下所示
def vigenere():
message1 = input('message: ')
keyl = ['l', 'e', 'm', 'o', 'n']
if len(message1) > len(keyl):
keyl = [i * 5 for i in keyl]
else:
pass
for med in message1:
encrypting = chr(ord(med) + ord(keyl[med]))
print(encrypting)
encmessage = input('Is there a message you would like to decrypt?')
for mes in encmessage:
decrypting = chr(ord(med) - ord(keyl[med]))
print(decrypting)
===================重新启动:/Users/ggmac/Documents/ProjectM.py===================维格纳()
消息:逃离
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
维格纳()
文件“/Users/gg mac/Documents/ProjectM.py”,第75行,在vigenere中
加密=chr(ord(med)+ord(keyl[med]))
TypeError:列表索引必须是整数或片,而不是str
您能帮我一下并告诉我我的错误吗?列表索引必须是整数。以下内容可以解决您的问题
def vigenere():
message1 = input('message: ')
keyl = ['l', 'e', 'm', 'o', 'n']
if len(message1) > len(keyl):
keyl = [i * 5 for i in keyl]
else:
pass
for i,med in enumerate(message1):
encrypting = chr(ord(med) + ord(keyl[i]))
print(encrypting)
encmessage = input('Is there a message you would like to decrypt?')
for k, mes in enumerate(encmessage):
decrypting = chr(ord(med) - ord(keyl[k]))
print(decrypting)
列表索引必须是整数。以下内容可以解决您的问题
def vigenere():
message1 = input('message: ')
keyl = ['l', 'e', 'm', 'o', 'n']
if len(message1) > len(keyl):
keyl = [i * 5 for i in keyl]
else:
pass
for i,med in enumerate(message1):
encrypting = chr(ord(med) + ord(keyl[i]))
print(encrypting)
encmessage = input('Is there a message you would like to decrypt?')
for k, mes in enumerate(encmessage):
decrypting = chr(ord(med) - ord(keyl[k]))
print(decrypting)
非常感谢你。这解决了我的问题。现在我开始担心了。如果有帮助的话,请接受它作为你的答案。非常感谢。这解决了我的问题。现在我开始担心了。如果有帮助的话,请接受它作为你的答案。