2017-10-12 10 views
-3

"pandemonium"という単語を入力するとわかりません、空の文字列( "")を返します。 。なぜ以下のコードは空の文字列( '')を返しますか?

def mystery(text): 
    result = "" 
    for x in text: 
     if x == "p": 
      result += "pop" 
     elif x == "m": 
      result = "" 
     else: 
      result += x 
    return result 
+2

'ELIF xを==「M」:'の最後の文字にヒットを取得しますあなたの言葉 'pandemonium'は' result'を '' ''に戻します。これはあなたが戻ってくるものです – MooingRawr

+0

最後の文字は'pandemonium'は' m'です。あなたのコードは 'result'を空にします。あなたは ''私が推測しているものがありません。 – mshsayem

+0

あなたのコードを "トレース"!あなたに答えを与えてくれたでしょうか。 –

答えて

1

それだから、あなたはそれを追加するのではなく、空の文字列を等しくするresult変数をリセットx == "m"とき

def mystery(text): 
    result = "" 
    for x in text: 
     if x == "p": 
      result += "pop" 
     elif x == "m": 
      result += "" 
     else: 
      result += x 
    return result 
+0

'result'はリストではないので、追加することはできません。 –

+0

あなたのコードは文字列を返しませんが、代わりに配列 – Exelian

+0

を返します。OPは自分のコードが正しいかどうかはっきりとしていません。既存の動作が明確に示されていない場合は、その動作を変更しないでください。 – MooingRawr

関連する問題