亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何縮短正文中解釋的程序?

如何縮短正文中解釋的程序?

慕萊塢森 2023-08-22 16:50:54
我正在制作一個簡單的 python 項目來加密消息。在我分享我想縮短的內容之前,這里是我用于解密消息的代碼的鏈接(我需要幫助): https://www.sendspace.com/file/jji74r我的問題是我不知道如何在不需要 25 行代碼的情況下讀取消息,該程序測試 25 個字符的加密消息,因此如果我想測試 30 個字符的加密文本,我還需要 5 行代碼。有什么方法可以減小程序任何部分的大小嗎?
查看完整描述

1 回答

?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

你可以用一些嵌套循環來做到這一點 -


INCREMENT = 3

ALPHABET = "abcdefghijklmnopqrstuvwxyz"

BEM_LENGTH = 25


#data needed from user to decrypt a message encrypted via BEM

BEM = input("Please input your BEM key: ")

message = input("please input the message you wish to decrypt (up to 26 characters): ")


# processing

for i in range(0, len(message)//INCREMENT):

    mess = message[(i*INCREMENT):(i+1)*INCREMENT]

    for j in range(0, BEM_LENGTH):

        bem = BEM[(j*INCREMENT):(j+1)*INCREMENT]

        if mess == bem:

            print(ALPHABET[j], end="")

print()


我注意到值的變化始終是 3,因此我將 INCRMENT 設置為 3。我還需要字母表。我放入了一個 BEM_LENGTH 常量,以便您可以輕松更改它。


之后,我得到了輸入。


然后,我循環遍歷該消息,增量為 3,就像您硬編碼的那樣。然后,我循環遍歷 BEM 密鑰并對其進行比較,類似于您的 if 語句。然后,如果它們匹配,我就打印字母表中的正確字符。如果您需要更多幫助,我可以給您發送電子郵件或在 Discord 上聊天(如果您需要幫助)!


我可以使用列表理解在大約 4 行內完成此操作,但它很難閱讀。這是最易讀、最簡潔的方法。


查看完整回答
反對 回復 2023-08-22
  • 1 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號