1:最好不要用关键字
2:字典里最后一个是不需要逗号的
使用print(val,',',end='')的时候val与,之间会有一个空格,所以你后面找的是'--. ',尾部多一个空格
这个是我刚才写的,可以运行
程序代码:
code = {'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': '--..', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.', '0': '-----' } # 反转键值 code2 = {value:key for key,value in code.items()} mode = input('选择模式,0=加密,1=解密') if mode == '0': text = input('请输入一串文字:') for c in text: morse = code[c.upper()] print(morse,'/',end='') elif mode == '1': text = input('请输入一段字符:') # 清除空字符 # print(morse,'/',end='')会在morse和'/'之间添加一个空格 text = text.replace(' ','') # 以/分隔 for c in text.split('/'): # 筛除空字符,当输入最后为/时候,不要忘记后面还有个空 if c != '': print(code2[c],'/',end='')