这是问题所在:
morsecode = {'a':".-", 'b':"-...", 'c':"-.-.", 'd':"-..", \
'e':".", 'f':"..-.", 'g':"--.", 'h':"....", 'i':"..", \
'j':".---", 'k':"-.-", 'l':".-..", 'm':"--", \
'n':"-.", 'o':"---", 'p':".--.", 'q':"--.-", \
'r':".-.", 's':"...", 't':"-", 'u':"..-", 'v':"...-", \
'w':".--", 'x':"-..-", 'y':"-.--", 'z':"--.."}
def morse(mystring):
output=""
for key, code in morsecode.items():
for item in mystring:
if key==item:
output+=code
return output
Run Code Online (Sandbox Code Playgroud)
我想得到这样的东西:
>>> morse("a boy")
Run Code Online (Sandbox Code Playgroud)
'.- -... --- -.--'
但我只能得到:
>>> morse("a boy")
Run Code Online (Sandbox Code Playgroud)
'-. --- ....- ---'
即使我输入"yob a",结果也一样
python ×1