摩斯电码和英文转译
摩斯电码和英文转译(及遇到的问题)
思路:先建立字母列表和摩斯电码列表,再设置摩斯电码字典,输入字符串后完成转译。
-
建立字母列表
ord函数:将数字转换为字母
chr函数:将字母转换为数字
列表推导式:用循环构造数据结构 list=[× for × in 一个范围] -
建立摩斯电码列表,需要自己敲
-
设置摩斯电码字典(其实自己敲字典也是一个方法,直接跳过前两步)
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函数的方法:字典推导式(用循环构造数据结构) -
输入英文字符串完成翻译
一种方法:
另一种方法:使用函数
###这里发现:直接输出 l 是列表形式, 输出join是字符串形式
###假如要翻译一个列表里面的英文元素:套中套,利用列表里面的第0,1,。。。个元素来说明字符串,再使用上面定义的函数来翻译字符串。妙啊