這是一個最簡單的自定義函數,自己調用自己,我的理解是這樣的:
1.傳一個s參數進行判斷,如果有空字符它會切掉前后的空字符,返回一個新的s,這個新的s還有的話會繼續執行這種重復的操作,類似於遞歸(博主不怎么會遞歸),
所以沒有用循環也能做到循環的效果,看似是靜態但因為遞歸實現了動態。
def trim(s):
if s[:1] != ' ' and s[-1:] != ' ':
return s
elif s[:1] == ' ':
return trim(s[1:])
else:
return trim(s[:-1])
# 測試:
if trim('hello ') != 'hello':
print('測試失敗!')
elif trim(' hello') != 'hello':
print('測試失敗!')
elif trim(' hello ') != 'hello':
print('測試失敗!')
elif trim(' hello world ') != 'hello world':
print('測試失敗!')
elif trim('') != '':
print('測試失敗!')
elif trim(' ') != '':
print('測試失敗!')
else:
print('測試成功!')
經過測試是成功的,我的每篇博客都會自己去測試成功后再發布,自己也被不少博客坑過。。所以可以放心代碼是正確的,如有報錯請檢查相關配置設置,以及長相加人品問題,哈哈哈~!。