标题:摩斯电码解密器出现问题,在线求助,急
只看楼主
WLE
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-10-5
结帖率:0
已结贴  问题点数:20 回复次数:1 
摩斯电码解密器出现问题,在线求助,急
搜索更多相关主题的帖子: 出现 在线 解密 
2020-10-05 21:29
古123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:219
专家分:1098
注 册:2017-2-5
得分:20 

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='')

2020-10-07 14:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503351-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.216894 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved