编程挑战5:编写Python函数secondword提取首空格后的首个单词
编程挑战:实现
secondword函数 需求说明
编写Python函数secondword,接收单个字符串参数,遵循以下规则返回结果:
- 若输入字符串无空格,返回空字符串
'' - 若输入字符串仅有一个空格,返回该空格之后的全部内容
- 若输入字符串有两个及以上空格,返回第一个空格之后到第二个空格之前的部分(不含第二个空格)
示例
secondword("United") # 返回 '' secondword("United States") # 返回 'States' secondword("United States of America") # 返回 'States'
实现方案
方案1:字符串分割法(简洁直观)
利用str.split()的参数限制分割次数,直接提取目标片段:
def secondword(s): # 最多分割2次,得到最多3个片段 segments = s.split(' ', 2) if len(segments) == 1: return '' # 无论是2个还是3个片段,第二个片段都是目标内容 return segments[1]
方案2:索引定位法(底层逻辑实现)
手动查找空格位置,通过切片获取结果:
def secondword(s): first_space = s.find(' ') # 无空格的情况 if first_space == -1: return '' # 查找第一个空格之后的下一个空格 second_space = s.find(' ', first_space + 1) # 仅有一个空格的情况 if second_space == -1: return s[first_space + 1:] # 两个及以上空格的情况 return s[first_space + 1 : second_space]
测试验证
将上述函数代入示例输入,均可得到符合要求的输出结果。
内容的提问来源于stack exchange,提问作者kiko
相关产品推荐
相关产品推荐

