我正在使用遞歸來反轉字符串。我能夠使用以下代碼成功反轉字符串。使用字符串反轉函數的奇怪行爲
def rev(string):
if len(string)==0:
return string
if len(string)==1:
return string
else:
s=string
string = s[-1]+rev(s[:-1])
return string
但是,當我與打印它只是打印答案的前兩個字符,然後拋出一個錯誤說
"TypeError: cannot concatenate 'str' and 'NoneType' objects"
實例替換回報。當給予「StackOverflow的」的功能,返回返回「wolfrevOkcatS」 corrrectly 但是當我試圖打印功能本身的答案,它只是打印「TS」給上述錯誤的值。
簡短回答:不要試圖在遞歸函數中打印結果。返回結果並將其打印在調用代碼中。 –