摩斯电码和英文转译

摩斯电码和英文转译(及遇到的问题)

思路:先建立字母列表和摩斯电码列表,再设置摩斯电码字典,输入字符串后完成转译。

  1. 建立字母列表
    ord函数:将数字转换为字母
    摩斯电码和英文转译
    chr函数:将字母转换为数字
    摩斯电码和英文转译
    列表推导式:用循环构造数据结构 list=[× for × in 一个范围]
    摩斯电码和英文转译

  2. 建立摩斯电码列表,需要自己敲
    摩斯电码和英文转译

  3. 设置摩斯电码字典(其实自己敲字典也是一个方法,直接跳过前两步)
    zip函数:将若干个独立列表打包为元组的列表
    a=[1,2,3]
    b=[4,5,6]
    zip(a,b) 输出 [ (1,4) , (2,5) , (3,6) ]
    摩斯电码和英文转译
    tips:要把key放在前面,value放在后面
    ###在这里我遇到一个问题:
    摩斯电码和英文转译
    原因是前面的代码里出现了一个变量赋值给了dict,导致python自带的数据结构被覆盖掉了。重启kernel并且改掉对应的变量名可以解决。这是一个很常见的很容易被忽视的老问题,本菜鸟真是问老师的时候都尴尬了哎。
    ###还有另一种不适用zip函数的方法:字典推导式(用循环构造数据结构)
    摩斯电码和英文转译

  4. 输入英文字符串完成翻译
    一种方法:
    摩斯电码和英文转译
    另一种方法:使用函数
    摩斯电码和英文转译
    ###这里发现:直接输出 l 是列表形式, 输出join是字符串形式
    ###假如要翻译一个列表里面的英文元素:套中套,利用列表里面的第0,1,。。。个元素来说明字符串,再使用上面定义的函数来翻译字符串。妙啊
    摩斯电码和英文转译