1 回答

TA貢獻1796條經驗 獲得超7個贊
你的第一行
first_message,second_message=string_split("SomEChaRacTers")
期望string_split返回兩個值。然而,你的函數只返回一個。
你想要的是
def string_split(string):
first_message_signs = "_."
second_message_signs = " |"
one = ""
two = ""
if len(string) == 0:
return one, two
if string[0].islower() or string[0] in first_message_signs:
one += string[0]
elif string[0].isupper() or string[0] in second_message_signs:
two += string[0]
ret1, ret2 = string_split(string[1:])
one += ret1
two += ret2
return one, two
順便說一句,沒有令人信服的理由需要string_split遞歸。嘗試這個:
def string_split(string):
first_message_signs = "_."
second_message_signs = " |"
one = ''.join(c for c in string if c.islower() or c in first_message_signs)
two = ''.join(c for c in string if c.isupper() or c in second_message_signs)
return one, two
添加回答
舉報