2017-10-12 91 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

这是因为当x == "m"重置result变量等于一个空字符串,而不是其附加的

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

相关问题