为了账号安全,请及时绑定邮箱和手机立即绑定

感谢大佬,逐行解释一下

感谢大佬,逐行解释一下

qq_慕娘207691 2018-12-30 19:37:06
s = input()t = ""for c in s:     if 'a' <= c <= 'z':          t += chr( ord('a') + ((ord(c)-ord('a')) + 3 )%26 )     elif 'A'<=c<='Z':         t += chr( ord('A') + ((ord(c)-ord('A')) + 3 )%26 )     else:         t += cprint(t)
查看完整描述

1 回答

?
pardon110

TA贡献1038条经验 获得超227个赞

#! py -3
s = input() #获取标准输入流,返回一个字符串
t = ""
for c in s: #迭代输入流字符串序列
    if 'a' <= c <='z': # 比较acscii码值
          # 常识:大(小)写26个英文字母按照字母表的顺序,其对应的ASCII码值是连续的
          # 以小写字母a作基准,对输入字母向后作3个偏移量;顺序依据26个英文字母环
         # 简单点讲即输入z时,得到c;获得数字码值后用chr函数转为对应英文字符
        t += chr( ord('a') + ((ord(c) - ord('a')) + 3)%26 )
    elif 'A'<=c<='Z':
        t += chr( ord('A') + ((ord(c)-ord('A')) + 3) %26)
    else:
        # 拼接字符重新成串
        t +=c
# 打印字符串
print(t)
# ascci码值97转为对应的字符即是a,ord是与之相反的操作
print(chr(97))


查看完整回答
反对 回复 2018-12-31
  • 1 回答
  • 0 关注
  • 1448 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信