python轉(zhuǎn)換摩斯密碼示例
核定代碼
CODE = {'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': '----.'
}
def main():
msg = raw_input('MESSAGE: ')
for char in msg:
if char == ' ':
print
else:
print CODE[char.upper()] + ' ',
if __name__ == "__main__":
main()
Python實(shí)現(xiàn)摩爾斯電碼和英文互譯
前段時(shí)間看到了一個(gè)科普摩爾斯電碼的博客,感覺(jué)挺好玩的,就想著寫一個(gè)翻譯摩爾斯電碼的小程序,懶了好幾天了,一直沒(méi)寫,今天終于完成了
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': '----.', '.': '.-.-.-', ':': '---...',
',': '--..--', ';': '-.-.-.', '?': '..--..', '=': '-...-', "'": '.----.', '/': '-..-.', '!': '-.-.--',
'——': '-....-', '-': '..--.-', '"': '.-..-.', '(': '-.--.', ')': '-.--.-'}
string = input('請(qǐng)輸入英文/摩爾斯電碼:\n',).strip()
english_key = 0
if string[0] == '.' or string[0] == '-' or string[0] == '/': # 說(shuō)明是電碼轉(zhuǎn)英文
lis_0 = string.replace(' ', '/').strip('/').split('//')
lis_1 = [lis_0[i].split('/') for i in range(len(lis_0))] # Her love you
code_dict = {v: k for k, v in code_dict.items()}
else:
english_key = 1
lis_0 = string.upper().split()
for i in range(len(lis_0)):
lis_0[i] = [''.join(lis_0[i])[j] for j in range(len(lis_0[i]))]
lis_1 = lis_0
code_dict = {k: v+' ' for k, v in code_dict.items()}
for i in range(len(lis_1)):
for j in range(len(lis_1[i])):
if lis_1[i][j] in code_dict:
lis_1[i][j] = code_dict[lis_1[i][j]]
lis_1[i] = ''.join(lis_1[i])
if english_key:
print(' '.join(lis_1).capitalize().replace(' ', '/').rstrip('/'))
else:
print(' '.join(lis_1).capitalize())
輸入格式的要求
以 I love Python 為例
電碼轉(zhuǎn)英文:
格式一:字母之間以 ‘/' 隔開(kāi),單詞之間以 ‘//' 隔開(kāi);
如:…//.-…/—/…-/.//.–./-.–/-/…/—/-. 或 /…//.-…/—/…-/.//.–./-.–/-/…/—/-./
格式二:字母之間以 ' ' (單空格)隔開(kāi),單詞之間以 ' ' (雙空格)隔開(kāi);
如:… .-… — …- . .–. -.-- - … — -.
英文轉(zhuǎn)電碼:
普通英文句子即可,不區(qū)分大小寫
輸出格式
電碼轉(zhuǎn)英文:首字母大寫,其余為小寫
如:I love python
英文轉(zhuǎn)電碼:字母之間以 ‘/' 隔開(kāi),單詞之間以 ‘//' 隔開(kāi)
如:…//.-…/—/…-/.//.–./-.–/-/…/—/-.
到此這篇關(guān)于python轉(zhuǎn)換摩斯密碼示例的文章就介紹到這了,更多相關(guān)python摩斯密碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
總結(jié)分析python數(shù)據(jù)化運(yùn)營(yíng)關(guān)聯(lián)規(guī)則
本文內(nèi)容主要介紹了python數(shù)據(jù)化運(yùn)營(yíng)中關(guān)聯(lián)規(guī)則的一般應(yīng)用場(chǎng)景,以及關(guān)聯(lián)規(guī)則的實(shí)現(xiàn),并例舉了適應(yīng)的應(yīng)用示例,方便大家更直觀的理解應(yīng)用2021-08-08
Django中使用pillow實(shí)現(xiàn)登錄驗(yàn)證碼功能(帶刷新驗(yàn)證碼功能)
這篇文章主要介紹了Django中使用pillow實(shí)現(xiàn)登錄驗(yàn)證碼功能(帶刷新驗(yàn)證碼功能),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
python語(yǔ)音識(shí)別指南終極版(有這一篇足矣)
這篇文章主要介紹了python語(yǔ)音識(shí)別指南終極版的相關(guān)資料,包括語(yǔ)音識(shí)別的工作原理及使用代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Springboo如何t動(dòng)態(tài)修改配置文件屬性
這篇文章主要介紹了Springboo如何t動(dòng)態(tài)修改配置文件屬性問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09

