python凯撒密码加密

头歌上的题目,可以帮忙看下这个代码哪里错了吗,有个隐藏测试集一直过不了,题目是字母后移两位的凯撒密码加密。

img

if not b.isalpha():

你要先判断ord(i)的值,再chr,否则如果ascii码是个非法字符,转chr那一步就已经出错了
不要用c语言的思路来搞python


s=input('原文:')  #Hello Wold xyz
t = ""
for i in s:
    if i.isalpha():
        # 如果字符的小写+2大于122,小写z的ASCII值为122,大写Z的ASCII值为90
        if ord(i.lower()) + 2 > 122:
            t += chr( ord(i)+2-26 )
        else:
            t += chr( ord(i)+2 )
    else:
        t += i
print('密文:{}'.format(t))

input 和 print 里不要出现 “原文”,“密文”这样多余的文字,除非题目要求