私はちょうどのpythonを始めたと私は愚かなエラーにこだわっているが、私は、私はこのエラーを得たプログラムを実行するとき、それはQ: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は(0009 [I]) '文字のASCII値を取得する'試みます。なぜインデックスを 'x'と混ぜるのですか?エラーはどこか他の場所にあるようです... –
と投稿する前にインデントを修正してください。 –
文字列は不変であることを覚えておいてください。 –