-1
我需要製作一個函數,它需要一個隨機字符的文本字符串,將小寫字母放在一起,將大寫字母放在一起,並將剩下的字符扔掉。我已經做了一個迭代的解決方案,這一個工程,但顯然它不是遞歸 - 我必須使其遞歸!遞歸循環文本
check_lower
/check_upper
是檢查是否在msg
的字符串的一部分包含下字符或上部字符
def split_recursive(msg, low_msg='', up_msg=''):
if not msg:
return (low_msg, up_msg)
if check_lower(msg[0]):
low_msg += msg[0]
if check_upper(msg[0]):
up_msg += msg[0]
return split_recursive(msg[1:], low_msg, up_msg)
的示例串翻閱將是
test = 'Jj9312L*xzc-,zt13_312GjASk3'
所以在功能結束您將運行
>>> split_recursive(test)
('jxzcztjk', 'JLGAS')
還有你的代碼** **是遞歸的,所以它不清除的問題是什麼。 – jonrsharpe