有谁能看看解释一下这一行实现凯撒密码的代码是什么意思吗,没学过实在看不懂😭
可以看到这条语句里使用了三个变量:lower, upper, digit,三个变量的值分别是:
lower: a到z 26个小写字母组成的字符串
upper: A到Z 26个大写字母组成的字符串
digit:0到1 组成的字符串
所以[:n] 和[n:]就是根据传进函数的n的值进行切片再重新组合,比如n=3的话,lower[n:]就是d到z,lower[:n]就是abc,然后拼接出来就是d开头末尾是xyzabc这样的26个小写字母字符串。upper和digit也是这样操作。
为什么这样做呢?因为前面有个before变量里存储了正常的顺序,也就是a到z接着A到Z接着0到9。使用maketrans函数可以把before和after做成一个一一对应的字典,比如n等于3的时候,before里的a就对应了after里的字母d,b就对应了e,这样依次类推。所以最后再把要加密的text根据这个字典进行转换,就得到加密后的字符串了。
你哪一句不理解啊,告诉我