python自學做題記錄之凱撒密碼

2021-10-17 03:07:52 字數 992 閱讀 1474

【問題描述】

凱撒密碼是古羅**撒大帝用來保護重要軍情的加密系統。這套密碼系統在現在看來很低階,但是在古羅馬時期還是發揮了重要作用的。

凱撒密碼的根本思想是按照字母表排列順序將明文中每個字母變換成其後第n個字母。這裡,n(n=1~25)被稱作秘鑰。

請編寫程式,針對不同的輸入字串和移動位數,輸出經過凱撒加密之後的字串。

【輸入形式】

第乙個輸入引數是移動的位數n,中間間隔乙個空格之後,第二個輸入引數是待加密的原文本串

【輸出形式】

加密後的密文字串。注意,只加密字母,且不改變字母大小寫。待加密的字串可能存在比如"hello world"的形式,若與第乙個引數一起以input的方式輸入,在呼叫split()的時候要注意,會將待加密字串也一併分割了。split()方法有引數指定分割多少項,建議採用,請上網搜尋說明文件。

【樣例輸入】

5 nudt

【樣例輸出】

sziy

【樣例說明】

輸入引數中第乙個引數』5』表示移動位數n=5,然後將第二個輸入引數中每個字母都向後移動5位,得到輸出字串。

這裡直接使用ord 和chr 函式就可以,但是要注意如果移動後的字母大於z或者z時需要ascii值減去26

key,zifu=

input()

.split(

' ',1)

outcome=

""for i in zifu:

if i.isalpha():

i=chr(

ord(i)

+int

(key))if

'a'>i>

'z':

i =chr(

ord(i)-26

)elif i>

'z':

i =chr(

ord(i)-26

) outcome += i

print

(outcome)

python自學做題記錄之序列判斷

題目描述 給你乙個整數組成的列表l,按照下列條件輸出 若l是公升序排列的,則輸出 up 若l是降序排列的,則輸出 down 若l無序,則輸出 wrong 示例 輸入 l 1,1,3,3,4 輸出 up 可以用死辦法做 f 0for i in range len l 1 if l i l i 1 遞減...

python自學做題記錄之py數

題目描述 py從小喜歡奇特的東西,而且天生對數字特別敏感,一次偶然的機會,他發現了乙個有趣的四位數2992,這個數,它的十進位制數表示,其四位數字之和為2 9 9 2 22,它的十六進製制數bb0,其四位數字之和也為22,同時它的十二進位制數表示1894,其四位數字之和也為22,啊哈,真是巧啊。py...

python自學做題記錄之找對稱數

問題描述 已知10個四位數輸出所有對稱數及個數 n,例如1221 2332都是對稱數 輸入形式 10個四位數,以空格分隔開 輸出形式 輸入的四位數中的所有對稱數,對稱數個數 樣例輸入 1221 2243 2332 1435 1236 5623 4321 4356 6754 3234 樣例輸出 122...