我想刪除一個字符串中花括號之間的所有內容,並試圖遞歸地執行該操作。 當遞歸結束時,我在這裏返回x
,但不知怎的,函數doit
在這裏返回None
。雖然在def內打印x
將打印正確的字符串。 我在做什麼錯?奇怪的函數返回值?
strs = "i am a string but i've some {text in brackets} braces, and here are some more {i am the second one} braces"
def doit(x,ind=0):
if x.find('{',ind)!=-1 and x.find('}',ind)!=-1:
start=x.find('{',ind)
end=x.find('}',ind)
y=x[start:end+1]
x=x[:start]+x[end+1:]
#print(x)
doit(x,end+1)
else:
return x
print(doit(strs))
輸出:
None
我會注意這是做的一個非常糟糕的方式,但我假定這是一個編程練習,給予「我米試圖做遞歸「聲明。 –
@Lattyware是啊!我試圖通過這個解決SO問題。 –