摩尔斯电码练习感想

学习摩尔斯电码有一年多了,进度很慢,真是有点伤心。
最开始是用那个Just learn morse code软件来练习的。这个软件使用一个叫Koch的人主张的方法,就是使用一个较高的速度,从两个字符开始练习,每次正确率到了90%就增加一个新的字母,这样直到学会所有的字母。这个方法据说比使用一个很慢的速度,从所有的字符开始练习要效果好。
这个软件我用了好久,越练越感觉有点问题。它练习的时候需要我们根据播放的电码在键盘上输入答案,并以此来判断正确率。默认是5分钟一次练习,播放的时候就同步显示了答案,所以不方便盯着屏幕看,因为这样就相当于看到了答案,可是不看屏幕的话没有实时的反馈,也就不知道输入的字符是对还是错,5分钟结束之后倒是有一个总结,可是那个时候已经事过境迁,无从回忆知道哪里容易出错。
所以在一段时间没什么进步之后我就自己写了一个练习程序,也使用Koch方法,只是把5分钟的大练习改成几个字符的小练习,每次练习之后就显示正确答案和出错情况,这样就可以在头脑中及时纠正错误、加强正确印象,另外还统计了哪些字符容易出错,对容易出错的字符增加练习频率。
不过用了自己的软件之后还是进度很慢。而且练习的时候稍一走神就会造成大面积的出错。
今天偶尔看到一篇文章,作者认为练习摩尔斯电码应该先练习收,再练习发,因为如果先练习发的话,人头脑中就建立了一个编码和相应字符的对照表,这样在收听的时候就可能下意识地数长短信号得到相应的编码,再进一步翻译得到相应字符。而如果先练习听,就可能直接建立声音到字符的条件反射,中间省去了思考、转换的过程,速度就容易提高。
这文章给了我很大的启发。我体会到Koch的方法要点应该是使用较快的速度强迫建立声音直接到字母的条件反射。而如果从较慢的速度和全部字符开始练习,人也很容易数长短信号翻译成编码再翻译得到对应字符,所以速度也不容易提高。
而Just learn morse code和我的软件在实施Koch方法的过程中又有个问题,就是在练习过程中,我们听到声音然后在键盘上输入字符,这样很容易形成声音到手指击键的条件反射,比如听到点划,头脑中还没想到是A,左手小指就已经把A按下去了。这种条件反射有两个问题,一是离开键盘,收听电码的速度就下降很多,比如听到点划,可能要先翻译成左手小指的击键反应,再根据这个击键反应翻译成字符A;另一个问题是手指的击键反应不容易记忆,我们很容易记住afj这样的字符串,却并不容易记住对等的左手小指、左手食指、右手食指这样的击键顺序,这也就是我在练习的时候稍微走神就连续出错的原因。
看来要调整一下练习的方法,在听到声音之后在头脑中先直接翻译成字符,然后根据记忆的字符在键盘上击键,这样应该就可以形成正确的声音到字符的直接条件反射。
希望新方法能够有效。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
尔斯电码(Morse Code)是一种早期的通信方式,通过长短音符组合来代表字母、数字和标点符号。在Python中实现一个尔斯电码转换器,你可以创建两个函数:一个用于将文本转换为尔斯电码,另一个用于将尔斯电码转换回文本。这里是一个简单的示例: 1. **编码函数**: 它会接受一个字符串参数,查找每个字符对应的尔斯电码,并连接起来形成最终的尔斯电码字符串。 ```python def encode_morse(text): morse_code_dict = { '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': '--..', '0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.' } return ' '.join([morse_code_dict[ch] for ch in text.upper()]) ``` 2. **解码函数**: 它会接受一个尔斯电码字符串,将其分割成单独的字符,然后找到每个字符对应的字母并组合起来。 ```python def decode_morse(morse_code): morse_code_dict = {value: key for key, value in morse_code_dict.items()} decoded_text = '' words = morse_code.split(' ') for word in words: decoded_text += morse_code_dict[word] if word in morse_code_dict else ' ' return decoded_text ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值