怎么在python的dict中添加空格的赋值
msg1e = "esbtr dgh abzqg! vhe ghz yzqtcjxx qx qt btgesjz cbxepj!"msg2e = "qx qe mht?"
msg3e = "fyj frjxhrj qx yqlljs qs mqej frjjx brrbsujl qs b argxx"
d1 = {'a': 'm', 'b': 'a', 'c': 'c', 'd': 'y', 'e': 't', 'f': 'v', 'g': 'o', 'h': 'u', 'i': 'x', 'j': 'e', 'k': 'j', 'l': 'w', 'm': 'f', 'n': 'z', 'o': 'd', 'p': 'l', 'q': 'i', 'r': 'k', 's': 'h', 't': 'n', 'u': 'g', 'v': 'b', 'w': 'q', 'x': 's', 'y': 'p', 'z': 'r'}
d2 = {'a': 'c', 'b': 'a', 'c': 'm', 'd': 'y', 'e': 'v', 'f': 't', 'g': 'o', 'h': 'u', 'i': 'z', 'j': 'e', 'k': 'l', 'l': 'd', 'm': 'f', 'n': 'x', 'o': 'w', 'p': 'j', 'q': 'i', 'r': 'r', 's': 'n', 't': 'b', 'u': 'g', 'v': 'p', 'w': 'q', 'x': 's', 'y': 'h', 'z': 'k'}
def decipher_message(msg,guide):
guide[' '] = ' '
result = []
for letter in msg:
result.append(guide)
return result
在上面的字典当中,我没办法直接在字典里加空格的赋值(作业设定),如果不加上空格的赋值,python显示KeyError :' '
但是如果加上了guide[' '] = ' ', python又会显示KeyError :' ! ' 那是因为你字符串里有空格和!号,而你字典里没有这些键,获取不到键值所以报错了,如果字典里没有的键就原封不动,那可以这样写
msg1e = "esbtr dgh abzqg! vhe ghz yzqtcjxx qx qt btgesjz cbxepj!"
msg2e = "qx qe mht?"
msg3e = "fyj frjxhrj qx yqlljs qs mqej frjjx brrbsujl qs b argxx"
d1 = {'a': 'm', 'b': 'a', 'c': 'c', 'd': 'y', 'e': 't', 'f': 'v', 'g': 'o', 'h': 'u', 'i': 'x', 'j': 'e', 'k': 'j', 'l': 'w', 'm': 'f', 'n': 'z', 'o': 'd', 'p': 'l', 'q': 'i', 'r': 'k', 's': 'h', 't': 'n', 'u': 'g', 'v': 'b', 'w': 'q', 'x': 's', 'y': 'p', 'z': 'r'}
d2 = {'a': 'c', 'b': 'a', 'c': 'm', 'd': 'y', 'e': 'v', 'f': 't', 'g': 'o', 'h': 'u', 'i': 'z', 'j': 'e', 'k': 'l', 'l': 'd', 'm': 'f', 'n': 'x', 'o': 'w', 'p': 'j', 'q': 'i', 'r': 'r', 's': 'n', 't': 'b', 'u': 'g', 'v': 'p', 'w': 'q', 'x': 's', 'y': 'h', 'z': 'k'}
def decipher_message(msg,guide):
# guide[' '] = ' '
result = []
for letter in msg:
result.append(guide.get(letter, letter))
return result
print(''.join(decipher_message(msg1e, d1)))
hrpzcf 发表于 2021-10-9 21:06
那是因为你字符串里有空格和!号,而你字典里没有这些键,获取不到键值所以报错了,如果字典里没有的键就原 ...
非常感谢!!!
页:
[1]