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

实现字符串尾字符前置校验的Python代码运行异常排查

代码无法通过自动评测的具体问题
  • 触发直接崩溃的边界场景缺陷
    当测试用例传入空字符串时,代码直接执行check_str[-1]提取末尾字符,空字符串没有有效索引位,会立刻抛出IndexError中断程序,评测系统捕捉到运行异常就会直接判失败。哪怕测试用例只传长度为1的字符串,只要覆盖空值输入,就必触发崩溃。
  • 不匹配评测规则的输入输出问题
    代码中写的input("enter str: ")自带自定义输入提示,学校自动评测系统是通过管道直接灌入测试输入的,既不需要代码主动打印提示,也会因为输出中混了这行提示文字,和评测要求的纯结果输出格式不匹配,触发格式判错。
  • 逻辑校验的小疏漏
    当前用count(末尾字符) > 1的判定思路是能匹配题目要求的,毕竟计数大于1就说明除了末尾位置本身,前面至少出现过一次该字符,但因为前面两个崩溃点的存在,这段正确逻辑根本没机会在评测环境里跑到。

适配评测要求的修正参考代码

def last_early(check_str):
    # 提前处理长度不足的边界场景,避免索引报错
    if len(check_str) < 1:
        return False
    last_char = check_str[-1]
    # 直接检查除末尾外的字符串部分是否包含末尾字符,逻辑更严谨
    return last_char in check_str[:-1]

# 移除多余的输入提示,直接读取评测传入的内容
my_str = input().lower()
print(last_early(my_str))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.31 04:06:00