苏格兰圆脸胖鸡 发表于 2020-8-17 02:28:24

恺撒密码

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 += c
print(t)

这个是python123给的例子,完全没看懂.....
第二行就不太明白,怎么把''''赋值个t
还有第四行,c是一个变量,怎么可以和两个字符'a''z'比大小呢...
第五行也不懂呢.......ord('a')是直接对应Unicode编码的数字吗,那为啥不能打开括号合并....
总之没看懂东的地方太多了....
跪求解答~

zltzlt 发表于 2020-8-17 06:58:30

1. 这里的 t 就是存储加密后的字符串,需要先初始化为空字符串

2. 字符串比大小是根据 Unicode 码比的

3. ord('a') 是直接对应 Unicode 编码的数字吗
是的,(ord(c)-ord('A')) 这里的括号可以去掉,变成 ord(c)-ord('A')
页: [1]
查看完整版本: 恺撒密码