1

Invent with Python の絞首刑執行人のレッスンに取り組んでいます。何時間もの間、以下の for ループの 2 行目と 3 行目を理解しようとしています。

for i in range(len(secretWord)):
    if secretWord[i] in correctLetters:
        blanks = blanks[:i] + secretWord[i] + blanks[i+1:]

リストのスライスであることは承知していますが、リストのスライスとは何かは知っていますが、+ 演算子が使用される理由はわかりません。

これを説明してくれる人に感謝します。

4

3 に答える 3

5

文字列を連結することです。

  blanks = blanks[:i] + secretWord[i] + blanks[i+1:]

blanki までの文字列、isecretWordの文字、およびblanki + 1 から最後までの文字列を連結します。

例:

blanks = "Welcome"
secretWord = "WELCOME"
i = 3
print blanks[:i] + secretWord[i] + blanks[i+1:]

印刷します

WelCome

したがって、基本的に上記の行は at ofの文字を at of の文字iに置き換えます。blankisecretWord

于 2013-10-12T05:26:22.997 に答える
2

+、通常の - 加算と同じように使用されます。

for i in range(len(secretWord)):ループごとに各アイテムに[0, 1, ... len(secretWord)]割り当ててループします。i

したがって、最初のループでblanks = blanks[:i] + secretWord[i] + blanks[i+1:]は次のようになります。

blanks = blanks[:0] + secretWord[0] + blanks[0+1:]

別名:

blanks = blanks[:0] + secretWord[0] + blanks[1:]
#                                            ^ 0 + 1 == 1

+各スライスの間を意味する場合、それは文字列連結に使用されます:

>>> print 'hello ' + 'world'
hello world
于 2013-10-12T05:25:53.913 に答える
1

文字列で使用すると+、Python の演算子は文字列を連結します。

于 2013-10-12T05:25:51.467 に答える