如何正确使用字符串索引来创建相当于字符串的 rot13

How to properly use string indices to create a rot13 equivalent of a string

对于我的编程 class,我们必须创建一个接受字符串参数和 returns 该字符串的 rot13 等价物的函数。当我尝试 运行 我的函数时,它说 count 不能等于 str[i] 因为字符串索引必须是整数。老实说,我迷路了,我还能做些什么来让这个功能发挥作用。任何帮助都会很可爱

def str_rot_13(str):
     new_list = []
     for i in str:
         if ord(i) <= 77:
             count = str[i]
             k = chr(ord(count) + 13)
             new_list.append(k)
         if ord(i) > 77 and ord(i) <= 90:
             count = str[i]
             k = ord(count) - 78
             new_list.append(chr(65 + k))
     return new_list
 for i in str:
     if ord(i) <= 77:
         count = str[i]
         k = chr(ord(count) + 13)

在 Python 中,for i in str 将遍历字符串 str 中的每个字符,i 设置为该字符(您已经知道,因为您正在做 ord(i))。 (不要使用 str 作为名称,顺便说一下:strthe string type 的 Python 名称。) count = str[i] 正在处理 i作为索引。您不需要(或不应该)这样做。意义不大。