Python-KeyError';C';关于列表检查值
我正在尝试创建一个代码,为单词中的字母赋值,然后在pythonm中将它们吐出来。这是我的代码:Python-KeyError';C';关于列表检查值,python,Python,我正在尝试创建一个代码,为单词中的字母赋值,然后在pythonm中将它们吐出来。这是我的代码: import time import os import string os.system('cls') values = dict() for index, letter in enumerate(string.ascii_lowercase): values[letter] = index + 1 def scramble(letter): i = 0 phrase =
import time
import os
import string
os.system('cls')
values = dict()
for index, letter in enumerate(string.ascii_lowercase):
values[letter] = index + 1
def scramble(letter):
i = 0
phrase = list(letter)
mylist = []
while i < len(phrase):
list.append(values[phrase[i]])
i = i + 1
print(res)
scramble("Crapx")
导入时间
导入操作系统
导入字符串
操作系统(“cls”)
值=dict()
对于索引,枚举中的字母(string.ascii_小写):
值[字母]=索引+1
def加扰(字母):
i=0
短语=列表(字母)
mylist=[]
而我
好吧,这样我就得到了错误
Traceback (most recent call last):
File "d:\Code\Python\fibbanaci.py", line 22, in <module>
scramble("Crapx")
File "d:\Code\Python\fibbanaci.py", line 18, in scramble
list.append(values[phrase[i]])
KeyError: 'C'
PS D:\Code\Python>
回溯(最近一次呼叫最后一次):
文件“d:\Code\Python\fibbanaci.py”,第22行,在
扰码(“Crapx”)
文件“d:\Code\Python\fibbanaci.py”,第18行,置乱
list.append(值[短语[i]])
键错误:“C”
PS D:\Code\Python>
有人知道这个问题的解决方法吗?字典值将string.ascii_小写字母映射到索引+1。它没有大写字母的键。事实上,你可以
def scramble(letter):
i = 0
phrase = list(letter.lower())
mylist = []
while i < len(phrase):
mylist.append(values[phrase[i]])
i += 1
print(phrase)
你的字典没有大写键。您可以使用
string.ascii_字母
而不是string.ascii_小写字母
import time
import os
import string
os.system('cls')
values = dict()
for index, letter in enumerate(string.ascii_letters):
values[letter] = index + 1
def scramble(letter):
i = 0
phrase = list(letter)
mylist = []
while i < len(phrase):
mylist.append(values[phrase[i]])
i = i + 1
print(mylist)
scramble("Crapx")
导入时间
导入操作系统
导入字符串
操作系统(“cls”)
值=dict()
对于索引,枚举中的字母(string.ascii_字母):
值[字母]=索引+1
def加扰(字母):
i=0
短语=列表(字母)
mylist=[]
而我
字典只包含小写字母,但是Crapx
有大写的C
。假设您的输入是一个变量,您可以调用输入字符串的lower<代码>加扰(“Crapx.lower())嘿,这确实有帮助,但并没有完全解决问题。最后,我调整了代码以找到defscramble(letter):I=0短语=list(letter.lower())mylist=[]的工作代码,而我
仍然有错误吗。。?或者你的预期结果是什么。。?
import time
import os
import string
os.system('cls')
values = dict()
for index, letter in enumerate(string.ascii_letters):
values[letter] = index + 1
def scramble(letter):
i = 0
phrase = list(letter)
mylist = []
while i < len(phrase):
mylist.append(values[phrase[i]])
i = i + 1
print(mylist)
scramble("Crapx")