摩爾斯電碼滴答“.-”,加密字符串。
??(本筆記適合熟悉循環(huán)和列表的 coder 翻閱)
-
Python 官網(wǎng):https://www.python.org/
-
Free:大咖免費(fèi)“圣經(jīng)”教程《 python 完全自學(xué)教程》,不僅僅是基礎(chǔ)那么簡(jiǎn)單……
地址:https://lqpybook.readthedocs.io/
??自學(xué)并不是什么神秘的東西,一個(gè)人一輩子自學(xué)的時(shí)間總是比在學(xué)校學(xué)習(xí)的時(shí)間長,沒有老師的時(shí)候總是比有老師的時(shí)候多。
????????????—— 華羅庚
- My CSDN主頁、My HOT博、My Python 學(xué)習(xí)個(gè)人備忘錄
- 好文力薦、 老齊教室

本文質(zhì)量分:
CSDN質(zhì)量分查詢?nèi)肟冢篽ttp://www.csdn.net/qc
◆?摩爾斯電碼加密
1、題目描述
-
題目描述截屏圖片
【題目來源于 CSDN 問答社區(qū)提問“摩爾斯電碼加密字符串”】
2、算法解析
-
摩爾斯電碼中文對(duì)照表截圖
2.1 截圖代碼分析
??算法解析:
- 1、問題截圖最后一行的縮進(jìn)全部取消,它是最后結(jié)果輸出語句
應(yīng)該與外層for循環(huán)同級(jí),縮進(jìn)一致;
?
2、程序的最后結(jié)果a應(yīng)該累加每次解析出的摩爾斯電碼(需要在for循環(huán)之前初始化a = ''為空字符串);
?
3、最后一行print()有“筆誤”,關(guān)鍵字print前面多了一個(gè)d;
?
4、也可以把每次解析出的追加到一個(gè)列表,最后用str.join方法拼接輸出,或者直接拼接列表解析式。
2.2 算法解析
??摩爾斯電碼滴答“.-”字符一次加密,就是字符串的簡(jiǎn)單替換:把輸入英文字符,替換成相應(yīng)的點(diǎn)劃“.-”輸出。這,沒什么難點(diǎn)。關(guān)鍵在于點(diǎn)劃“.-”與英文字符一一對(duì)應(yīng)字典的準(zhǔn)備。至于摩爾斯電碼加密,只要掌握python字符串替換,就可輕松搞掂。
由摩爾斯電碼與英文字符對(duì)應(yīng)表生成對(duì)應(yīng)字典python代碼
textMorse = '''1 .----
A .-
N -.
. .-.-.-
2 ..---
B -...
O ---
, --..--
3 ...--
C -.-.
P .--.
: ---...
4 ....-
D -..
Q --.-
' .----.
5 .....
E .
R .-.
? ..--..
6 -....
F ..-.
S ...
- -....-
7 --...
G --.
T -
() -.--.-
8 ---..
H ....
U ..-
@ .--.-.
9 ----.
I ..
V ...-
— -...-
0 -----
J .---
W .--
/ -..-.
K -.-
X -..-
Y -.--
M --
Z --..''' # 摩爾斯電碼字典文本。
morseDict = {i.split()[0]: ''.join(i.strip().split()[1:]) for i in textMorse.split('\n')} # 從文本解析摩爾斯電碼字典。
- 樣例效果
摩爾斯電碼加密python代碼
code = input('\nEnter your code: ').strip().upper()
a = ''
for x in code:
a += morseDict[x]
print(f"\ncode is encoded to {a}")
2.3 str.join方法直接拼接列表解析式
-
str.join方法直接拼接列表解析式
??字典用dict.get方法取key的值,比用dict[num]取值更好,給出第二個(gè)參數(shù),dict中沒有的key也不會(huì)報(bào)錯(cuò),直接返回給定的參數(shù)。(如示例中的下劃線字符“_”,給出了如dict中沒有“_”key,就返回第二個(gè)參數(shù)’'空字符串。)
python代碼
code = input('\nEnter your code: ').strip().upper()
print(f"\ncode is encoded to “{''.join([morseDict.get(i, '') for i in code])}”") # str.join方法拼接dict.get方法的字典解析式。
3、完整源碼
(源碼較長,點(diǎn)此跳過源碼)
#!/sur/bin/nve python
# coding: utf-8
textMorse = '''1 .----
A .-
N -.
. .-.-.-
2 ..---
B -...
O ---
, --..--
3 ...--
C -.-.
P .--.
: ---...
4 ....-
D -..
Q --.-
' .----.
5 .....
E .
R .-.
? ..--..
6 -....
F ..-.
S ...
_ -....-
- ..--.-
7 --...
G --.
L .-..
T -
( -.--.
; -.-.-.
! -.-.--
) -.--.-
8 ---..
H ....
U ..-
@ .--
9 ----.
I ..
V ...-
— -...-
0 -----
J .---
W .--
/ -..-.
K -.-
X -..-
Y -.--
M --
Z --..''' # 摩爾斯電碼字典文本。
morseDict = {i.split()[0]: ''.join(i.strip().split()[1:]) for i in textMorse.split('\n')} # 從文本解析摩爾斯電碼字典。
input(sorted(morseDict.keys()))
code = input('\nEnter your code: ').strip().upper()
a = ''
for x in code:
a += morseDict[x]
print(f"\ncode is encoded to {a}")
#print(f"\ncode is encoded to “{''.join([morseDict.get(i, '') for i in code])}”") # str.join方法拼接dict.get方法的字典解析式。
上一篇:? 經(jīng)典循環(huán)命題:百錢百雞(翁五錢一只,母三錢,小雞三只一錢;百錢百雞百雞花百錢)
下一篇:?
我的HOT博:
??本次共計(jì)收集 246 篇博文筆記信息,總閱讀量 40.46w,平均閱讀量 1644。已生成 16 篇閱讀量不小于 4000 的博文筆記索引鏈接。數(shù)據(jù)采集于 2023-10-12 05:41:03 完成,用時(shí) 4 分 41.10 秒。
-
ChatGPT國內(nèi)鏡像站初體驗(yàn):聊天、Python代碼生成等
( 59262 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/129035387
點(diǎn)贊:126?? 踩 :0??收藏:798??打賞:0??評(píng)論:71
本篇博文筆記于 2023-02-14 23:46:33 首發(fā),最晚于 2023-07-03 05:50:55 修改。 -
讓QQ群昵稱色變的神奇代碼
( 58086 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122566500
點(diǎn)贊:24?? 踩 :0??收藏:83??打賞:0??評(píng)論:17
本篇博文筆記于 2022-01-18 19:15:08 首發(fā),最晚于 2022-01-20 07:56:47 修改。 -
pandas 數(shù)據(jù)類型之 DataFrame
( 9173 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/124525814
點(diǎn)贊:6?? 踩 :0??收藏:31??打賞:0??評(píng)論:0
本篇博文筆記于 2022-05-01 13:20:17 首發(fā),最晚于 2022-05-08 08:46:13 修改。 -
個(gè)人信息提取(字符串)
( 7215 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/124244618
點(diǎn)贊:1?? 踩 :0??收藏:13??打賞:0??評(píng)論:0
本篇博文筆記于 2022-04-18 11:07:12 首發(fā),最晚于 2022-04-20 13:17:54 修改。 -
Python列表(list)反序(降序)的7種實(shí)現(xiàn)方式
( 7161 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/128271700
點(diǎn)贊:5?? 踩 :0??收藏:22??打賞:0??評(píng)論:8
本篇博文筆記于 2022-12-11 23:54:15 首發(fā),最晚于 2023-03-20 18:13:55 修改。 -
羅馬數(shù)字轉(zhuǎn)換器|羅馬數(shù)字生成器
( 7035 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122592047
點(diǎn)贊:0?? 踩 :0??收藏:1??打賞:0??評(píng)論:0
本篇博文筆記于 2022-01-19 23:26:42 首發(fā),最晚于 2022-01-21 18:37:46 修改。 -
Python字符串居中顯示
( 6966 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122163023
點(diǎn)贊:1?? 踩 :0??收藏:7??打賞:0??評(píng)論:1
本篇博文筆記 -
斐波那契數(shù)列的遞歸實(shí)現(xiàn)和for實(shí)現(xiàn)
( 5523 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122355295
點(diǎn)贊:4?? 踩 :0??收藏:2??打賞:0??評(píng)論:8
本篇博文筆記 -
python清屏
( 5108 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/120762101
點(diǎn)贊:0?? 踩 :0??收藏:8??打賞:0??評(píng)論:0
本篇博文筆記 -
練習(xí):字符串統(tǒng)計(jì)(坑:f‘string‘報(bào)錯(cuò))
( 5103 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/121723096
點(diǎn)贊:0?? 踩 :0??收藏:1??打賞:0??評(píng)論:0
本篇博文筆記 -
回車符、換行符和回車換行符
( 5093 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/123109488
點(diǎn)贊:1?? 踩 :0??收藏:2??打賞:0??評(píng)論:0
本篇博文筆記于 2022-02-24 13:10:02 首發(fā),最晚于 2022-02-25 20:07:40 修改。 -
練習(xí):尼姆游戲(聰明版/傻瓜式?人機(jī)對(duì)戰(zhàn))
( 4943 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/121645399
點(diǎn)贊:14?? 踩 :0??收藏:42??打賞:0??評(píng)論:0
本篇博文筆記 -
密碼強(qiáng)度檢測(cè)器
( 4323 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/121739694
點(diǎn)贊:1?? 踩 :0??收藏:4??打賞:0??評(píng)論:0
本篇博文筆記于 2021-12-06 09:08:25 首發(fā),最晚于 2022-11-27 09:39:39 修改。 -
練習(xí):生成100個(gè)隨機(jī)正整數(shù)
( 4274 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122558220
點(diǎn)贊:1?? 踩 :0??收藏:6??打賞:0??評(píng)論:0
本篇博文筆記于 2022-01-18 13:31:36 首發(fā),最晚于 2022-01-20 07:58:12 修改。 -
我的 Python.color() (Python 色彩打印控制)
( 4159 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/123194259
點(diǎn)贊:2?? 踩 :0??收藏:8??打賞:0??評(píng)論:0
本篇博文筆記于 2022-02-28 22:46:21 首發(fā),最晚于 2022-03-03 10:30:03 修改。 -
羅馬數(shù)字轉(zhuǎn)換器(用羅馬數(shù)字構(gòu)造元素的值取模實(shí)現(xiàn))
( 4149 閱讀)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122608526
點(diǎn)贊:0?? 踩 :0??收藏:0??打賞:0??評(píng)論:0
本篇博文筆記于 2022-01-20 19:38:12 首發(fā),最晚于 2022-01-21 18:32:02 修改。

精品文章:
- 好文力薦:齊偉書稿 《python 完全自學(xué)教程》 Free連載(已完稿并集結(jié)成書,還有PDF版本百度網(wǎng)盤永久分享,點(diǎn)擊跳轉(zhuǎn)免費(fèi)??下載。)
- OPP三大特性:封裝中的property
- 通過內(nèi)置對(duì)象理解python'
- 正則表達(dá)式
- python中“*”的作用
- Python 完全自學(xué)手冊(cè)
- 海象運(yùn)算符
- Python中的 `!=`與`is not`不同
- 學(xué)習(xí)編程的正確方法
來源:老齊教室
◆ Python 入門指南【Python 3.6.3】
好文力薦:文章來源:http://www.zghlxwxcb.cn/news/detail-739984.html
- 全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者——[寒佬](還是國內(nèi)某高校學(xué)生)博文“非技術(shù)文—關(guān)于英語和如何正確的提問”,“英語”和“會(huì)提問”是編程學(xué)習(xí)的兩大利器。
- 【8大編程語言的適用領(lǐng)域】先別著急選語言學(xué)編程,先看它們能干嘛
- 靠譜程序員的好習(xí)慣
- 大佬帥地的優(yōu)質(zhì)好文“函數(shù)功能、結(jié)束條件、函數(shù)等價(jià)式”三大要素讓您認(rèn)清遞歸
CSDN實(shí)用技巧博文:文章來源地址http://www.zghlxwxcb.cn/news/detail-739984.html
- 8個(gè)好用到爆的Python實(shí)用技巧
- python忽略警告
- Python代碼編寫規(guī)范
- Python的docstring規(guī)范(說明文檔的規(guī)范寫法)
到了這里,關(guān)于摩爾斯電碼加密字符串的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!