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

Python基础代码报错排查:如何判断单词首中末字母是否按序排列?

代码错误修复与功能实现

原代码存在的问题

  • 变量拼写错误:inital 应为 initial;srortedword 是冗余拼写错误变量(未使用可删除)
  • 条件分支逻辑错误:判断len(wrd) // 2 == 0时,错误使用单词列表lst取字符,应使用当前遍历的单词wrd;且该条件逻辑无意义——无论单词长度奇偶,都可通过len(wrd)//2获取中间位置索引,无需分分支处理
  • 未实现核心判断逻辑:仅对三个字母排序,但未验证原顺序是否与排序后顺序一致
  • 函数无返回值:调用后打印结果为None,无法输出有效内容
  • 排序结果处理错误:sorted()返回列表,需转为字符串才能与原拼接字符串比较

修复后的代码

def alphabetical_check(example):
    word_list = example.split()
    valid_words = []
    
    for word in word_list:
        if len(word) < 3:
            # 跳过长度不足3的单词,无法取首、中、尾三个字母
            continue
        
        # 获取首、中、尾字母
        initial = word[0]
        middle = word[len(word) // 2]
        final = word[-1]
        
        # 拼接并检查字母顺序
        char_group = initial + middle + final
        sorted_group = ''.join(sorted(char_group))
        
        # 原顺序与排序后一致则符合要求
        if char_group == sorted_group:
            valid_words.append(word)
    
    return valid_words

# 测试调用
print(alphabetical_check("red cat abc dog hat"))

代码说明

  • 新增长度校验:避免因单词过短导致的索引错误
  • 简化字符获取逻辑:统一从当前单词中提取目标字母,无需分支判断
  • 实现核心判断:通过对比原字母组合与排序后组合,验证是否按字母顺序排列
  • 收集并返回结果:函数返回符合条件的单词列表,调用后可直接输出有效内容

测试输出:

['abc', 'hat']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 06:55:18