立即打印凯撒密码

时间:2017-09-27 19:25:52

标签: python-3.x printing caesar-cipher

def en(password,shift):
    result = ""
    for i in password:
        result += chr(ord(i)+ shift)
    return result
def de(password,shift):
    result = ""
    for i in password:
        result += chr(ord(i) - shift)
    return result
n=input("Input : ")
s=int(input("shift number :  "))
e=en(n,s)
print("encoded : "+e)
print("decoded : "+de(e,s))

这是获取Caesar密码的方法

我无法解决。如何使用'shift number'-30~30一次打印?

1 个答案:

答案 0 :(得分:0)

您还没有处理过三件事:

1)信件案例 - 大写和小写字母的按摩方式略有不同。

2)非字母 - 非字母应该可以通过未受质疑的字母。

3)模块化算术 - 当你向一个字母添加一个移位时,你可能会从字母表的末尾掉下来,所以你需要像时钟一样环绕初学者。解码时会发生相反的情况。

在更新代码时请考虑此示例:

% python3 test.py
Input: Veni, vidi, vici
Shift number: 13
encoded: Irav, ivqv, ivpv
decoded: Veni, vidi, vici
%