【发布时间】:2018-03-03 05:03:01
【问题描述】:
我的程序应该以字符串的形式接受输入并拆分为字符串,其中包含所有小写字母、下划线和点。另一个带有所有大写字母、管道和空格。我不应该使用(功能)
def split_rec (letters):
uppers = ""
lowers = ""
if letters[0].isupper() or letters[0] == "|" or letters[0].isspace():
uppers += letters[0] + split_rec (letters[1:])
elif letters[0].islower() or letters[0] == "_" or letters[0] == ".":
lowers += letters[0] + split_rec (letters[1:])
elif not letters:
return lowers, uppers
你能告诉我更多关于我遇到的错误吗?
如果字母[0].isupper() 或字母[0] == "|"或字母[0].isspace(): IndexError: 字符串索引超出范围
【问题讨论】:
-
因为
letters是空字符串? -
@WillemVanOnsem 我的输入将是 letters = "HfEFfefF _" 例如
-
但是你在字符串的尾部执行递归调用。
标签: python-3.x uppercase lowercase