zoukankan      html  css  js  c++  java
  • 【python解题笔记20210316】CodeWars:Decode the Morse code

    题目

    内容:编写一个函数,入参为莫斯密码,出参为解析后的字符串

    链接:https://www.codewars.com/kata/54b724efac3d5402db00065e/train/python

    截图:

    解题

    思路:

    1、由于传入的入参前后可能有空格,需要进行前后空格过滤。使用strip()方法。

    2、莫斯密码的规则是,不同的单词使用3个空格分隔,不同的字母使用1个空格分隔。需检测3个空格、1个空格,分隔字符串为列表,使用split('   ')方法;

    3、分隔传入的莫斯密码到字母级别后,使用MORSE_CODE['.--']方法解析出每个字母;

    4、将解析成的每个字母,通过append函数追加到空列表中;

    5、由于上述得到的结果还是以每个单词为维度的列表,需使用join()方法将列表转换成字符串;

    结果:

    源码:

    def decodeMorse(morse_code):
        # ToDo: Accept dots, dashes and spaces, return human-readable message
        word=morse_code.strip().split('   ') #先过滤1、前后的空格,使用strip();2、传入莫斯密码的单词分隔符,即三个空格,使用split('   ')
        print(word)  
        resultcharacter=[]     #接收解析字符串
        for i in word:      #此时的i已经是一个单词了,word则为多个单词的列表
            character=i.split(' ')       #过滤1个单词中的空格,过滤传入莫斯密码的字母分隔符,即单个空格
            print(character)
            for j in character:  
                resultcharacter.append(MORSE_CODE[j])   #莫斯解密已经分隔好的字母,并追加到空列表中
                pass
            resultcharacter.append(' ')   #每1个单词后面追加1个空格
            pass
        print(resultcharacter)
    
            
        resultword=''.join(resultcharacter).strip()    #将列表形式的内容,通过join方法转换成字符串,并且通过strip方法去掉最后多余的空格
        print(resultword)            
                        
        return resultword

    知识点

    1、strip()函数用于字符串头部和尾部的指定字符串,默认为空格或换行符。

    2、split()函数的用法是拆分字符串,然后把分割之后的字符串放到一个列表里并返回。默认情况下是根据换行符" "和空格" ",以及“ ”进行分割。

    3、append()函数用于在列表末尾添加新的对象。

    4、join()函数用于将序列中的元素以指定的字符连接生成一个新的字符串

    参考资料:

    https://www.cnblogs.com/geeksongs/p/13050175.html

    https://www.runoob.com/python/att-list-append.html

    https://www.runoob.com/python3/python3-string-join.html

  • 相关阅读:
    windows下 CodeBlock13-12 实验 C++11 测试
    用矩阵运算实现最小二乘法曲线拟合算法
    winXP 系统下ubuntu-12.04 硬盘安装
    TCP服务器并发编程构架:完成端口IOCP模式
    TCP服务器并发编程构架:完成例程IRP模式
    续:双缓存队列_模板类
    双缓存静态循环队列(三)
    如何在只知道SQL_ID时,查询到此sql语句的执行计算机名称(是两三天前的SQL语句)
    RMAN Catalog 和 Nocatalog 的区别
    异机恢复后ORA-01152错误解决
  • 原文地址:https://www.cnblogs.com/chooperman/p/14542819.html
Copyright © 2011-2022 走看看