例如,我有一个dict,我想使用字符串"apple"
,并在字典中返回字符串中每个给定字母的对应值:
'dot-dash-dot-dash-dash-dot-dot-dash-dash-dot-dot-dash-dot-dot-dot'
morse_dict = {
'a': 'dot-dash',
'b': 'dash-dot-dot-dot',
'c': 'dash-dot-dash-dot',
'd': 'dash-dot-dot',
'e': 'dot',
'f': 'dot-dot-dash-dot',
'g': 'dash-dash-dot',
'h': 'dot-dot-dot-dot',
'i': 'dot-dot',
'j': 'dot-dash-dash-dash',
'k': 'dash-dot-dash',
'l': 'dot-dash-dot-dot',
'm': 'dash-dash',
'n': 'dash-dot',
'o': 'dash-dash-dash',
'p': 'dot-dash-dash-dot',
'q': 'dash-dash-dot-dash',
'r': 'dot-dash-dot',
's': 'dot-dot-dot',
't': 'dash',
'u': 'dot-dot-dash',
'v': 'dot-dot-dot-dash',
'w': 'dot-dash-dash',
'y': 'dash-dot-dash-dash',
'z': 'dash-dash-dot-dot'
}
a = tuple("word")
for x in a:
return("-".join([val for keys, val in morse_dict.items() if x in keys]))
我做错了什么
使用满足您书面要求的给定词典尝试以下简单代码
**根据您在函数中的要求,您可以将
print
替换为return
我不知道如何解释你到底做错了什么,因为你似乎把事情弄得不必要的复杂
标题问题的答案
是使用字典的基本功能,键查找:
如果字典中不包含键,这将引发
KeyError
异常。要避免这种情况,您有两种选择:.get
方法而不是[]
查找,该方法允许指定在键不存在时返回的默认值李>我认为在你的情况下,默认值是没有帮助的,因为未知字母的摩尔斯电码是什么?如果您选择使用空字符串
''
作为默认值,那么最终的结果将包含因此,当使用第一个选项时,您想要做的事情可以简单地写为:
也就是说,对于单词中的每个字母,查找相应的莫尔斯电码(已经由
dash
或dot
由-
连接而成),并通过-
连接它们,忽略没有莫尔斯电码的字母您可以简单地使用如下列表:
否则,我看到您测试字符以确定它们是否在} :
morse_dict
中。计划非计划字符的Python方法可以是使用方法^{相关问题 更多 >
编程相关推荐