字串加解密(20200304)

2021-10-03 12:29:03 字數 2474 閱讀 8559

1、對輸入的字串進行加解密,並輸出。

2、加密方法為:

當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b;字母z時則替換為a;

當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0;

其他字元不做變化。

3、解密方法為加密的逆過程。

介面描述:

實現介面,每個介面實現1個基本操作:

void encrypt (char aucpassword, char aucresult):在該函式中實現字串加密並輸出

說明:

1、字串以\0結尾。

2、字串最長100個字元。

int unencrypt (char result, char password):在該函式中實現字串解密並輸出

說明:

1、字串以\0結尾。

2、字串最長100個字元。

輸入描述:

輸入一串要加密的密碼 輸入一串加過密的密碼

輸出描述:

輸出加密後的字元 輸出解密後的字元

示例1

輸入abcdefg

bcdefgh

輸出bcdefgh

abcdefg

思路:本題的思路相對簡單,雖然**可能有點長

# coding=utf-8

#加密def

encrypt

(s):

arr=[0

]*len(s)

for i in

range

(len

(s))

:if s[i]

.isnumeric():

arr[i]

=(s[i]+1

)%10if s[i]

.isupper():

if s[i]

=='z'

: arr[i]

='a'

else

: arr[i]

=chr

(ord

(s[i])+

1).lower(

)if s[i]

.islower():

if s[i]

=='z'

: arr[i]

='a'

else

: arr[i]

=chr

(ord

(s[i])+

1).upper(

)if s[i]

.isalnum()==

0:arr[i]

=s[i]

for ch in arr:

print

(ch,end='')

#解密def

unencrypt

(s):

arr =[0

]*len(s)

for i in

range

(len

(s))

:if s[i]

.isnumeric():

arr[i]

=(s[i]+9

)%10if s[i]

.isupper():

if s[i]

=='a'

: arr[i]

='z'

else

: arr[i]

=chr

(ord

(s[i])-

1).lower(

)if s[i]

.islower():

if s[i]

=='a'

: arr[i]

='z'

else

: arr[i]

=chr

(ord

(s[i])-

1).upper(

)if s[i]

.isalnum()==

0:arr[i]

= s[i]

for ch in arr:

print

(ch, end='')

if __name__ ==

'__main__'

: s =

input()

encrypt(s)

s=input()

unencrypt(s)

字串加解密

題目 1 對輸入的字串進行加解密,並輸出。2加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b 字母z時則替換為a 當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0 其他字元不做變化。3 解密方法為加密的逆過程。輸入 輸入一串要加密的密...

字串加解密

題目描述 1 對輸入的字串進行加解密,並輸出。2 加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b 字母z時則替換為a 當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0 其他字元不做變化。3 解密方法為加密的逆過程。介面描述 實現介面...

字串加解密

描述 1 對輸入的字串進行加解密,並輸出。2 加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b 字母z時則替換為a 當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0 其他字元不做變化。3 解密方法為加密的逆過程。輸入輸入一串要加密的密...