利用凯撒算法对一个字符串进行解密

img

示例程序如下,你修改修改

# 凯撒加密
input_str = input()

start1 = ord('A')
mid1 = ord('M')
end1 = ord('Z')

start2 = ord('a')
mid2 = ord('m')
end2 = ord('z')

dis = end2 - start2  # 26个字母的距离

print('{}-{}-{}-{}-{}-{}'.format(start1, mid1, end1, start2, mid2, end2))
print('{}-{}-{}-{}-{}-{}'.format(chr(start1), chr(mid1), chr(end1),
                                 chr(start2), chr(mid2), chr(end2)))

for i in range(len(input_str)):
    src = input_str[i]
    dit = ""
    cha_int = ord(src)

    if (cha_int >= start2 and cha_int <= mid2) or (cha_int >= start1 and cha_int <= mid1):
        # 当A-M    a-m
        dit = chr(cha_int + 13)  # 直接加13即可
    elif (cha_int > mid2 and cha_int <= end2) or (cha_int > mid1 and cha_int <= end1):
        # 当 N-Z  n-z 的时候
        dit = chr(cha_int + 12 - dis)  # 注意这里是 +12 然后-dis
    else:
        dit = chr(cha_int)

    print(dit, end='')