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

CodeWars字母位置替换挑战报错:代码无法运行求修复方案

修复CodeWars字母位置替换问题的代码方案

原代码的问题:

  • 循环遍历的是字符串索引而非字符本身,导致判断逻辑完全失效(拿数字索引去匹配字母列表)
  • 循环范围range(0, len(text)-1)会漏掉最后一个字符
  • 结果拼接时未添加空格,最终输出是无分隔的字符串,不符合题目要求的格式
  • 维护三个冗余列表,代码效率低且没必要

修复后的代码:

def alphabet_position(text):
    result = []
    # 统一转小写,无需区分大小写判断
    for char in text.lower():
        # 判断是否为小写字母
        if 'a' <= char <= 'z':
            # 通过ASCII码直接计算字母位置,a对应1
            position = ord(char) - ord('a') + 1
            result.append(str(position))
    # 用空格拼接所有位置字符串
    return ' '.join(result)

代码说明:

  • 把输入字符串统一转为小写,只需一次判断就能覆盖大小写字母的情况
  • 借助ASCII码计算位置,省去维护额外字母、数字列表的麻烦,逻辑更简洁
  • 用列表收集结果后再拼接,比逐字符累加字符串更高效
  • 自动忽略非字母字符,完全符合题目要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 22:50:33