You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python字符串处理:末尾两字符交换转小写加空格的bug修复

问题说明

需要实现的字符串处理规则:

  • 提取字符串内的最后两个字母,交换顺序后转为小写,两个字符中间用空格分隔
  • 处理过程中忽略所有非字母字符(数字、符号、空格等)
  • 参考效果:输入APPLE输出e l;输入App3e输出e p
  • 当前故障:代码运行输出结果前存在多余空白字符,且未满足忽略非字母字符的要求
原有代码问题点
  • 未做字符过滤:直接截取原字符串末尾两位,会把非字母内容纳入计算,这也是输出出现多余空白的核心原因——如果字符串末尾存在空格、符号等非字母内容,会被直接拼接到结果里
  • 缩进错误:return语句被错误放在for循环内部,第一次循环就会终止函数,遍历逻辑完全失效
  • 逻辑冗余:逐字符判断大小写再转小写的写法没有必要,字符串自带的lower()方法可以直接完成全串小写转换
修正后代码
def last_Letters(word):
    # 先过滤所有非字母字符
    valid_chars = [c for c in word if c.isalpha()]
    # 取有效字母的最后两位
    last_two = valid_chars[-2:]
    # 交换顺序、转小写后用空格拼接
    return f"{last_two[1].lower()} {last_two[0].lower()}"

# 移除输入提示内的多余空格
word = input()
print(last_Letters(word))
验证结果
  • 输入APPLE:有效字符为A,P,P,L,E,最后两位为L、E,交换转小写后输出e l,符合预期
  • 输入App3e:过滤掉数字3后有效字符为A,p,p,e,最后两位为p、e,交换转小写后输出e p,符合预期
  • 所有非字母字符被过滤,不会再出现多余空白问题

内容的提问来源于stack exchange,提问作者quigley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 02:54:26