题解 | 字符串加解密

import sys

def code(c:str, offset:int) -> str:
    if c.isdigit():
        return str((int(c) + offset) % 10)
    if c.isupper():
        return chr(ord('a') + (ord(c.lower()) + offset - ord('a') ) % 26)
    else:
        return chr(ord('A') + (ord(c.upper()) + offset - ord('A')) % 26)

def encode(string:str) -> str:
    return ''.join([code(c, 1) for c in string])

def decode(string:str) -> str:
    return ''.join([code(c, -1) for c in string])
    
   
raw_input = []
for i,line in enumerate(sys.stdin):
    raw_input.append(line.strip())
    if i == 2:
        break

print(encode(raw_input[0]))
print(decode(raw_input[1]))

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务