2301_80134162 2023-10-31 17:21 采纳率: 100%
浏览 12
已结题

输入字符串,输出对应的莫尔斯密码

请问这个怎么改才能让输出结果是按要求那样连在一起的啊,哪里出问题了呢

img

  • 写回答

3条回答 默认 最新

  • 梦幻精灵_cq 2023-10-31 19:49
    关注
    • 1、您最后一行的缩进全部取消,它是最后结果输出语句

      img


      应该与外层for循环同级,缩进一致;
      2、您的最后结果a应该累加每次解析出的摩尔斯电码(需要在for循环之前初始化a = ''为空字符串);
      3、最后一行print()有“笔误”,关键字print前面多了一个d;
      4、也可以把每次解析出的追加到一个列表,最后用str.join方法拼接输出,或者直接拼接列表解析式。
    • 样例效果

      img

    python代码

    #!/sur/bin/nve python
    # coding: utf-8
    
    
    textMorse = '''1 .---- 
    A .- 
    N -. 
    . .-.-.-
    2 ..--- 
    B -... 
    O --- 
    , --..--
    3 ...-- 
    C -.-. 
    P .--. 
    : ---...
    4 ....- 
    D -.. 
    Q --.- 
    ' .----.
    5 ..... 
    E . 
    R .-. 
    ? ..--..
    6 -.... 
    F ..-. 
    S ... 
    - -....-
    7 --... 
    G --. 
    T - 
    () -.--.-
    8 ---.. 
    H .... 
    U ..- 
    @ .--.-.
    9 ----. 
    I .. 
    V ...- 
    — -...-
    0 ----- 
    J .--- 
    W .-- 
    / -..-.
    K -.- 
    X -..-
    Y -.-- 
    M -- 
    Z --..'''  # 摩尔斯电码字典文本。
    morseDict = {i.split()[0]: ''.join(i.strip().split()[1:]) for i in textMorse.split('\n')} # 从文本解析摩尔斯电码字典。
    code = input('\nEnter your code: ').strip().upper()
    a = ''
    
    for x in code:
       a += morseDict[x]
    
    print(f"\ncode is encoded to {a}")
    
    
    • str.join方法直接拼接列表解析式

      img


      字典用dict.get方法取key的值,比用dict[num]取值更好,给出第二个参数,dict中没有的key也不会报错,直接返回给定的参数。(如示例中的下划线字符“_”,给出了如dict中没有“_”key,就返回第二个参数''空字符串。)

    python代码

    
    code = input('\nEnter your code: ').strip().upper()
    print(f"\ncode is encoded to “{''.join([morseDict.get(i) for i in code])}”")
    
    

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 创建了问题 10月31日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀