如何正确使用字符串索引来创建rot13等效的字符串

时间:2017-10-31 04:21:35

标签: python string indexing indices

对于我的编程类,我们必须创建一个函数,该函数接受一个字符串参数并返回字符串的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

1 个答案:

答案 0 :(得分:0)

 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) 1}})。 (顺便说一下,不要使用str作为名称:strthe string type的Python名称。)count = str[i]正在处理{{1}中的字符作为索引。你不需要(或应该)这样做。它没有多大意义。