1 回答
![?](http://img1.sycdn.imooc.com/54584c5e0001491102200220-100-100.jpg)
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
添加回答
举报