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

Python判断字符串首尾相同的first_last函数始终返回True问题排查

问题代码错误原因分析
  • 多余的for循环:不需要遍历字符串的每个字符,直接对整段输入字符串取首尾即可。循环中拿到的char是单个字符,任意单个字符的第0位和最后一位都是它本身,所以char[0] == char[-1]永远成立,只要输入字符串非空,第一次循环就会直接返回True,和预期逻辑完全不符。
  • 空字符串判断位置错误:空字符串不会进入for循环,写在循环内部的空字符串判断永远不会触发。
  • 逻辑顺序错误:应当优先判断输入是否为空,再执行首尾字符的比较逻辑。
修正后的代码
def first_last(message):
    # 空字符串直接返回True
    if not message:
        return True
    # 直接比较首尾字符
    return message[0] == message[-1]
测试结果

使用你提供的测试用例运行,输出完全符合预期:

print(first_last("night")) # 输出False
print(first_last("nun")) # 输出True
print(first_last(""))   # 输出True

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 07:48:02