头歌上的题目,可以帮忙看下这个代码哪里错了吗,有个隐藏测试集一直过不了,题目是字母后移两位的凯撒密码加密。
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 里不要出现 “原文”,“密文”这样多余的文字,除非题目要求