2017-04-24 11 views
-3

で具体例を理解することはできませんは、私は、Pythonで遊んで、これが機能する理由を疑問に思ってPythonの

def fir(word): 
    for x in word: 
     print x[3] 
     break 
fir('alex') 
+4

あなたは何が異なると予想されるのか、なぜそれを期待したのか説明できますか? – user2357112

+4

'x'の値は何だと思いますか? – jwodder

+1

'print(x)'を試してください。すぐに啓発されます。 –

答えて

2

言葉は文字列で、 xは文字列のすべての文字を連続的に取ります。

単語が 'kthxbye'の場合、xは最初の繰り返しで 'k'になり、次に 't'などとなります。

単語[3]を印刷すると、単語の4番目の文字が毎回印刷されます(インデックスは0から始まります)。

xは文字です。 「k」の4番目のメンバーを取る意味はありません。

+1

追加するには、文字に添字が付いていないので、x [0]でもエラーが発生します。 – Sawyer

0

"word"は文字配列であり、xは文字であるためです。許可されたアドレス空間を取得しようとしているので、あなたが[3]その法的操作をしたときにx [3]を実行したときに、範囲外操作のインデックスをしようとしています。

+0

tnxたくさん。それは明らかに:) – user7111746

関連する問題