请帮忙。有一个任务:
https://stepik.org/lesson/Caesar-cipher-23896/step/1?adaptive=true&unit=6422
凯撒密码在于将输入字符串的每个字符替换为字母表中其左侧或右侧几个位置的字符。
对于所有字符,移位是相同的。移位是循环的,即 如果对字母表的最后一个字符应用单个移位,则它将被第一个字符替换,反之亦然。
编写一个程序,使用凯撒密码对文本进行加密。
使用的字母 −− 空格和小的拉丁字符:'abcdefghijklmnopqrstuvwxyz'
输入格式:第一行表示使用的密码偏移量:一个整数。正数对应于向右移动。第二行包含一个非空的加密短语。忽略前导和尾随空格。
输出格式:唯一包含短语:Result: "..." 的行,其中写的不是引号内的省略号,而是加密序列。
Sample Input 1:
3
i am caesar
Sample Output 1:
Result: "lcdpcfdhvdu"
所以这就是我解决它的方法:
a = int(input())
b = input()
c = ' abcdefghijklmnopqrstuvwxyz'
res = []
len_c=len(c)
for i in b:
res.append(c[(c.find(i)+a)%len_c])
print('Result: ', '"',''.join(res),'"', sep = '')
解释器正确输出所有内容。本站不测试。请告诉我,我哪里出错了。
我为此任务列出的清单:
在您的代码中,您应该在行首和行尾添加空格删除。
此代码过滤掉字符
有可能是这样的:
或者