我刚开始Python和我被困在一个愚蠢的错误,但我不明白为什么它不工作问:python:为什么我的char被视为str?
def encryption(str1):
i = 0
for x in str1:
if (x >= 'a' and x <= 'z' or x >= 'A' and x <= 'Z'):
str1[i] = str1[i] + 3 % 26 #str[i] = x + 3 % 26
i+=1
return str1
当我执行该程序,我得到这个错误:
TypeError: string indices must be integers, not str.
灿有人向我解释为什么str [i] - 23被认为是str?对我来说,我只是修改了char的ascii值。
这不是C,尝试'ORD(STR1 [I])'得到ASCII字符的值。为什么混合指数与'x'?并且错误似乎在其他地方... –
并在发布之前修复您的缩进。 –
请记住,字符串是immutable –