在密碼學中,愷撒密碼是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術,明文中的所有字母都在字母表上向后(或向前)按照一個固定數目進行偏移后被替換成密文。例,當偏移量是3的時候,所有的字母A將被替換成D,B變成E,以此類推。這個加密方法是以愷撒的名字命名的,當年愷撒曾用此方法與其將軍們進行聯系。編程實現愷撒加密,明文和偏移量由用戶輸入,輸出密文。
輸入格式
輸入包括兩行
第一行是一個字符串
第二行是一個正整數
輸出格式
一個字符串,內容為用戶輸入字符串加密的結果
示例 1:
輸入:Beautiful is better than ugly.Explicit is better than implicit.
3
輸出:Ehdxwlixo lv ehwwhu wkdq xjob.Hasolflw lv ehwwhu wkdq lpsolflw.
代碼:
s = input("需要加密的字符串:") n = int(input("偏移量:")) listS = list(s[:]) newList = [] for i in listS: if i.isalpha(): if 97 <= ord(i) < (122-n) or 65 <= ord(i) < (90-n): newList.append(chr(ord(i) + n)) else: newList.append(chr(ord(i) - (26-n))) else: newList.append(i) newS = "".join(newList) print(newS)