加密算法(2)

提交数: 630, 通过率: 60.16%, 平均分: 60.24

题目描述:

小明设计了一个加密程序,对于任意输入的一个字符串,运行程序后会输出相应的密文。其中,字符串加密算法如下:

(1)只针对英文字符和数字进行加密,其余字符保持不变;

(2)将原文中的小写字母转换成大写字母;

(3)根据第2步所得结果,若是英文字符,则逐个后移4位(例如“A"-->"E","Z"-->"D");若是数字,则逐个前移2位(例如:3:-->“1,“1”-->“9”)。

要实现上述要求的某程序如下,但程序加框处代码有误,请修改。

输入格式:

一行字符串。

输出格式:

一行加密后的字符串。

样例输入:

AZ31

样例输出:

ED19

提示:

完善程序如下:

s1 = input()
s2=""
for i in range( len(s1) ):
    s = ""
    if 'a' <= s1[i] <= 'z' :
        s = chr( ord ( s1[i] ) - 32 )
        s = chr( ( ord( s )- ord('A') +4 ) % 26 + ord('A') )
    elif 'A' <= s1[i] <= 'Z' :
        s = chr( ( ord(s1[i])- ord('A') +4 ) % 26 + ord('A') )
    elif '0' <= s1[i] <= '9' :
         (1)
    else :
         (2)
    
    s2 = s2 + s

print( s2 )
时间限制: 1000ms
空间限制: 256MB

来源: 省编作业本1-P71