Python字典调用get()方法返回None值的问题求助
问题解决方法
你的问题出在字典的键是单个大写字母,但你输入的是完整单词(多字符),字典里不存在对应整个单词的键,所以get()方法返回None。
要实现对单词中每个字符的替换,需要逐个处理输入的字符:
修改后的代码
dic = {'A':'D','N':'Q','B':'E','O':'R','C':'F','P':'S','D':'G','Q':'T','E':'H','R':'U','F':'I','S':'V','G':'J','T':'W', 'H':'K','U':'X','I':'L','V':'Y','J':'M','W':'Z','K':'N','X':'A','L':'O','Y':'B','M':'P','Z':'C'} user_input = input("Enter the word: ").upper() # 遍历每个字符,替换后拼接成结果 result = ''.join([dic.get(char, char) for char in user_input]) print(result)
代码说明
- 用列表推导式遍历输入单词的每一个字符
dic.get(char, char):如果字符在字典中有对应值则取该值,若没有则保留原字符(避免输出None)''.join()将所有替换后的字符拼接成完整字符串
比如输入"ABC",会输出"DEF";输入"XYZ",会输出"ABC",符合你的字典映射规则。
内容的提问来源于stack exchange,提问作者Milana
相关产品推荐
相关产品推荐

