【有帮助请采纳】
注意y啊!不然你每次循环都更新了y
还有啊!你的小写字母与大写字母的ASCII码不对呀(下面附上ASCII码对照表)
s = input("输入加密后文本")
y = ''#初始化返回的结果
for i in s:
if 65<=ord(i)<=90:#大写字母
y += chr(65+(ord(i)-65-3)%26)
elif 97<=ord(i)<=122:#小写字母
y += chr(97+(ord(i)-97-3)%26)
print("原文是:",y)