Python字典中能否使用反斜杠?维吉尼亚密码实现遇问题
解决维吉尼亚密码字典中反斜杠的映射问题
你的问题出在反斜杠的转义上——Python里反斜杠是特殊转义字符,直接写"\": "3"会导致语法错误,因为Python会尝试解析这个反斜杠为转义序列,而后面没有对应的转义字符。
有两种简单的解决方法:
双反斜杠转义:用两个反斜杠表示一个实际的反斜杠字符,这样Python能正确识别:
vigenereDictionary = { "@": "0", "%": "1", "+": "2", "\\": "3", "/": "4", ... }原始字符串前缀:给键字符串加上
r前缀,让Python把字符串里的反斜杠当作普通字符处理,不进行转义:vigenereDictionary = { "@": "0", "%": "1", "+": "2", r"\": "3", "/": "4", ... }
两种方法都能实现你要的效果:当用户输入反斜杠时,字典会正确匹配到值"3"。
内容的提问来源于stack exchange,提问作者Kai
相关产品推荐
相关产品推荐

