刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

36.破译密码:经过研究,该密码的加密规律如下:
1)原文中所有的字符都在字母表中被循环左移了三个位置(dec -> abz);
2)逆序存储(abcd -> dcba );
3)大小写反转(abXY -> ABxy)。
输入:一个加密的字符串。(长度小于50且只包含大小写字母)
输出:输出解密后的字符串。
根据上述算法思想,补全下列代码。
输入输出示例:输入:djiAHYhSju,输出:XMvKbkdLMG
a=input()
a=list(a)
newList1=[]
newList2=[]
for i in a:
num=ord(i)
if num >=120 and num<=122:
num= ①
elif num>=88 and num<=90:
num=num-23
else:
num = ②
c=chr(num)
newList1.append(c)

for i in newList1:
if i.isupper():
newList2.append( ④ )
if i.islower():
newList2.append(i.upper())
for i in newList2:
print(i,end='')

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】1. 首先,我们输入一个加密的字符串,并将其转化为字符列表。2. 接着,我们遍历这个列表中的每一个字符,根据题目中给出的加密规律进行解密。3. 对于每个字符,我们需要首先判断它是否位于需要被左移三位的位置(ASCII码在97到99之间的字符对应于字母表中的a到c),如果是,则将字符的ASCII码值减去3;如果是大写字母需要被左移三位(ASCII码在65到67之间的字符对应于字母表中的A到C),则将字符的ASCII码值减去3。对于其他情况,我们需要判断字符是否需要进行大小写反转。如果字符的ASCII码值在68到90之间(对应于D到Z),则需要将字符的ASCII码值减去26,即将其转化为小写字母;如果字符的ASCII码值在0到67之间(对应于A到Z),则需要将字符的ASCII码值加上26,即将其转化为大写字母。4. 然后,我们将解密后的字符列表逆序存储,并将大写字母转化为小写字母,小写字母转化为大写字母。5. 最后,我们将解密后的字符列表转化为字符串并输出。
创作类型:
原创

本文链接:36.破译密码:经过研究,该密码的加密规律如下:1)原文中所有的字符都在字母表中被循环左移了三个位置

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share