logo

摩尔斯电码转换器

作者:沙与沫2024.02.23 20:02浏览量:10

简介:使用Python字典实现摩尔斯电码转换器,将字母和数字转换为摩尔斯电码,并支持将摩尔斯电码还原为字母和数字。

要实现一个摩尔斯电码转换器,可以使用Python的字典数据结构来存储摩尔斯电码的编码和解码规则。下面是一个简单的实现示例:

  1. # 定义摩尔斯电码的编码和解码规则
  2. morse_code = {
  3. 'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.',
  4. 'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---',
  5. 'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---',
  6. 'P': '.--.', 'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-',
  7. 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--',
  8. 'Z': '--..',
  9. '0': '-----', 1: '.----', 2: '..---', 3: '...--', 4: '....-',
  10. 5: '.....', 6: '-....', 7: '--...', 8: '---..', 9: '----.'
  11. }
  12. # 将字母或数字转换为摩尔斯电码
  13. def encode(text):
  14. encoded_text = ''
  15. for char in text.upper():
  16. if char in morse_code:
  17. encoded_text += morse_code[char] + ' '
  18. else:
  19. print('Invalid character: ', char)
  20. return encoded_text.strip()
  21. # 将摩尔斯电码还原为字母或数字
  22. def decode(code):
  23. decoded_code = ''
  24. for morse_char in code.split():
  25. if morse_char in morse_code.values():
  26. decoded_code += morse_code[morse_code.keys()[morse_code.values().index(morse_char)]] + ' '
  27. else:
  28. print('Invalid morse code: ', morse_char)
  29. return decoded_code.strip()

现在你可以使用这些函数来进行摩尔斯电码的编码和解码。例如:

  1. encoded = encode('Hello') # 输出: '. .-.. .-.. ---'
  2. print(decode(encoded)) # 输出: Hello'

相关文章推荐

发表评论

活动