题解 | #字符串加解密#

字符串加解密

http://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a

  • step1:简单指令打印出'a','A','z','Z','0','9'的ASCII码备用
  • step2:根据边界ASCII码构造加密解密程序
  • step3:主程序&打印
  • #这种方法应该可以避免掉输入中有特殊符号时产生的bug
def jiami(s):
    s1_coded = ''
    for i in s:
        if 97 <= ord(i) <= 121:
            s1_coded += chr(ord(i) + 1).upper()
        elif ord(i) == 122:
            s1_coded += 'A'
        elif 65 <= ord(i) <= 89:
            s1_coded += chr(ord(i) + 1).lower()
        elif ord(i) == 90:
            s1_coded += 'a'
        elif 48 <= ord(i) <= 56:
            s1_coded += chr(ord(i) + 1)
        elif ord(i) == 57:
            s1_coded += chr(48)
        else:
            s1_coded += i
    return s1_coded

def jiemi(s):
    s2_uncode = ''
    for i in s:
        if 98 <= ord(i) <= 122:
            s2_uncode += chr(ord(i) - 1).upper()
        elif ord(i) == 97:
            s2_uncode += 'Z'
        elif 66 <= ord(i) <= 90:
            s2_uncode += chr(ord(i) - 1).lower()
        elif ord(i) == 65:
            s2_uncode += 'z'
        elif 49 <= ord(i) <= 57:
            s2_uncode += chr(ord(i) - 1)
        elif ord(i) == 48:
            s2_uncode += chr(57)
        else:
            s2_uncode += i
    return s2_uncode


while True:
    try:
        s1_uncode = input()
        s2_coded = input()
        print(jiami(s1_uncode))
        print(jiemi(s2_coded))
    except:
        break
全部评论

相关推荐

做人要有梦想dji:最新工位查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务